MVC 4, à la condition anti-faux jeton a été conçu pour l'utilisateur“, ” mais l'utilisateur actuel est “utilisateur”

J'ai récemment mis en Vivre une application web qui a été construit à l'aide de MVC 4 et Entity Framework 5. Le MVC application utilise Rasoir Vues.

J'ai remarqué à l'aide de Elmah que lorsque les utilisateurs se connectent à l'application, elles sont parfois l'erreur suivante se produit

The provided anti-forgery token was meant for user "" but the current user is "user"

J'ai fait un peu de recherche déjà sur la façon de résoudre ce problème, mais rien ne semble fonctionner pour moi. Veuillez voir mon de Vue Login et correspondant Actions de Contrôleur ci-dessous.

Rasoir Vue

@if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="formEl_a">
<fieldset>
<legend>Login Information</legend>
<div class="lbl_a">
Email
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Email, new { @class = "inpt_a" })<br />
@Html.ValidationMessageFor(m => m.Email)
</div>
<div class="lbl_a">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field sepH_b">
@Html.PasswordFor(m => m.Password, new { @class = "inpt_a" })<br />
@Html.ValidationMessageFor(m => m.Password)
</div>
</fieldset>
</div>
<br />
<p>
<input type="submit" value="Log In" class="btn btn_d sepV_a" />
</p>
}    
}

Contrôleur

[AllowAnonymous]
public ActionResult Login()
{
return View();
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && _accountService.Logon(model.Email, model.Password, true))
{
//Validate
}
else
{
//inform of failed login
}
}

Je pensais que tout cela avait l'air correct, mais toujours l'erreur persiste. N'ont aucune idée sur comment résoudre ce problème?

Votre aide est grandement appréciée.

Grâce.

Je pense que c'est déjà répondu ici stackoverflow.com/questions/14970102/...
Êtes-vous de vérifier cette réponse ? stackoverflow.com/questions/14970102/...
Si AllowAnonymous est retiré de la Connexion de l'Action,puis connectez-vous en Action ne sera pas appelé ("tant Que l'utilisateur n'a pas encore connecté")
La solution est ici: stackoverflow.com/a/47868435/2736742

OriginalL'auteur tcode | 2013-12-02

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *