Я создал форму входа и некоторые другие контроллеры в mvc4. Я помещаю [ValidateAntiForgeryToken] на контроллеры и @Html.AntiForgeryToken() в каждом представлении. но после авторизации при переходе на другую страницу выдает ошибку
Отсутствует обязательное поле формы защиты от подделки __RequestVerificationToken.
мой образец контроллера
[HttpPost, ActionName("UserLogin")]
[ValidateAntiForgeryToken]
[AllowAnonymous]
public ActionResult UserLogin(FormCollection collection)
{
string username = collection["txtUser"].ToString();
string password = collection["pwd"].ToString();
string Browser = HttpContext.Request.Browser.Browser;
if (db.Users.Any(u => u.Email == username && u.Password == password))
{
User usr = db.Users.Single(u => u.Email == username && u.Password == password);
return RedirectToAction("Details","User",usr.Id);
}
return HttpNotFound();
}
и вид
@using(Html.BeginForm("UserLogin","User")){
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
/// .......form elements....//
}
@using(Html.BeginForm("UserLogin","User", FormMethod.Post))
, чтобы убедиться, что он перенаправляет сообщение о действии вашего контроллера - person Cybercop   schedule 11.03.2014