Мы получили «Требуемый токен против подделки не был предоставлен или был недействительным». ошибок, и в некоторых дальнейших исследованиях мне удалось воссоздать проблему в ее простейшей форме - я либо делаю что-то совершенно неправильно, либо это ограничение системы токенов против подделки.
В любом случае, я буду признателен за совет!
Пустой проект 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");
}
[РЕДАКТИРОВАТЬ: упрощенный пример кода]
Чтобы воссоздать исключение, откройте две не вошедшие вкладки - войдите на первой вкладке, а затем войдите на второй вкладке.
Вторая вкладка всегда будет генерировать исключение для защиты от подделки, когда я предполагаю, что правильным поведением будет перенаправление на страницу входа (совместное использование сеанса / аутентификация исходной вкладки входа)
Буду признателен за любой совет!
Cheers,
Dave