Html.AntiForgeryToken() toujours nécessaire?
Est @Html.AntiForgeryToken()
encore nécessaires dans ASP.NET .NET4.6 vNext?
La forme des décorations ont changé de
<form asp-controller="Account"
asp-action="Login"
asp-route-returnurl="@ViewBag.ReturnUrl"
method="post"
class="form-horizontal"
role="form">
De cette
@using (Html.BeginForm("Login",
"Account",
new { ReturnUrl = ViewBag.ReturnUrl },
FormMethod.Post,
new { @class = "", role = "form" }))
Et ne comprennent plus ce
@Html.AntiForgeryToken()
Les Actions du Contrôleur sont encore marquées avec le ValidateAntiForgeryToken
attribut comme prévu mais alors, où, exactement, est-il en venir? Magiquement?
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
OriginalL'auteur mezmi | 2015-06-20
Vous devez vous connecter pour publier un commentaire.
La balise form helper va ajouter automatiquement les anti faux jeton. (Sauf si vous l'utiliser comme un standard de l'élément de formulaire html, ajoutant manuellement une
action
attribut). Vérifier le code source de la balise form helper, vous verrez à la fin de laProcess
méthode.Si vous examinez le code html de la page de connexion, vous verrez ce qui suit caché entrées à l'intérieur de la forme:
Vous pouvez également manuellement activer/désactiver l'ajout de la
asp-antiforgery
attribut:<form asp-controller="Account" asp-action="Register" asp-antiforgery="false" method="post" class="form-horizontal" role="form">
OriginalL'auteur Daniel J.G.