Problema com várias guias do MVC ValidateAntiForgeryToken
Estávamos recebendo "Um token anti-falsificação necessário não foi fornecido ou era inválido". erros e, em alguma investigação adicional, consegui recriar o problema da forma mais simples - estou fazendo algo completamente errado ou isso é uma limitação do sistema de tokens antifalsificação.
De qualquer forma, eu gostaria de receber alguns conselhos!
Projeto vazio do MVC 2: uma página de visualização, um controlador
Visão:
<%--Sign in form:--%>
<% using(Html.BeginForm("SignIn", "Home", FormMethod.Post)) {%>
<%= Html.AntiForgeryToken()%>
<input type="submit" value="Sign in" />
<%}%>
Controlador:
public ActionResult Index()
{
ViewData["status"] = "Index";
return View();
}
[ValidateAntiForgeryToken]
public ActionResult SignIn()
{
ViewData["status"] = "Signed In!";
FormsAuthentication.SetAuthCookie("username", false);
return View("Index");
}
[EDIT: exemplo de código simplificado]
Para recriar a exceção, abra duas guias não conectadas - entre na primeira guia e depois na segunda.
A segunda guia sempre lançará uma exceção antifalsificação, quando eu acho que o comportamento correto seria redirecionar para a página conectada (compartilhando a sessão / autenticação da guia conectada original)
Qualquer conselho seria apreciado!
Cheers, Dave