Мы получали «Требуемый токен защиты от подделки не был предоставлен или недействителен». ошибок, и в результате некоторого дальнейшего расследования мне удалось воссоздать проблему в ее простейшей форме - либо я делаю что-то совершенно не так, либо это ограничение системы токенов защиты от подделки.
В любом случае, я Буду признателен за совет!
Пустой проект MVC 2: одна страница просмотра, один контроллер
вид:
<%--Sign in form:--%>
<% using(Html.BeginForm("SignIn", "Home", FormMethod.Post)) {%>
<%= Html.AntiForgeryToken()%>
<input type="submit" value="Sign in" />
<%}%>
Контроллер:
public ActionResult Index()
{
ViewData["status"] = "Index";
return View();
}
[ValidateAntiForgeryToken]
public ActionResult SignIn()
{
ViewData["status"] = "Signed In!";
FormsAuthentication.SetAuthCookie("username", false);
return View("Index");
}
[РЕДАКТИРОВАТЬ: пример упрощенного кода]
Чтобы воссоздать исключение, откройте две вкладки без входа - войдите в первую вкладку, а затем войдите во вторую вкладку.
Вторая вкладка всегда будет вызывать исключение защиты от подделки, когда я предполагаю, что правильным поведением будет перенаправление на страницу входа (совместное использование сеанса / аутентификации исходной вкладки входа)
Любые советы будут оценены!
Ура, Dave