MVC 4 предоставил маркер защиты от подделки, предназначенный для пользователя «», но текущий пользователь - «пользователь»

Недавно выложили Live веб-приложение, созданное с использованиемMVC 4 а такжеEntity Framework 5,MVC приложение используетRazor Views.

Я заметил использованиеElmah что, когда пользователи входят в приложение, иногда они получают следующую ошибку

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

Мы уже провели небольшое исследование о том, как решить эту проблему, но мне кажется, что ничего не работает. Пожалуйста, смотрите мойВход в систему и соответствующийДействия контроллера ниже.

Razor View

@if (!HttpContext.Current.User.Identity.IsAuthenticated)
{

using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

     

        
            Login Information

            
                Email
            
            
                @Html.TextBoxFor(m => m.Email, new { @class = "inpt_a" })<br>
                @Html.ValidationMessageFor(m => m.Email)
            

            
                @Html.LabelFor(m => m.Password)
            
            
                @Html.PasswordFor(m => m.Password, new { @class = "inpt_a" })<br>
                @Html.ValidationMessageFor(m => m.Password)
            


        
    
    <br>
      <p>
            
        </p>

}    
}

контроллер

[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
      }

}

Я думал, что все это выглядело хорошо, но ошибка все еще сохраняется. У кого-нибудь есть идеи, как решить эту проблему?

Ваша помощь очень ценится.

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос