我遇到了这个错误:
The provided anti-forgery token was meant for a different claims-based user than the current user.
我不确定该如何纠正这个问题。
我有一个MVC5网站,其中包括一个登录页面。
以下是发生在此页面上的情况:
- 用户AAA登录。(没有问题)
- 我尝试访问用户无权访问的视图。
- 我已将类装饰为Authorize(Roles="aa")。
- 然后该视图会注销用户并将其返回到登录页面。
- 用户AAA登录。(这次我收到了上述错误)
需要注意的是:
我正在使用customErrors,这就是我看到错误消息的地方。
当我登出用户时,我运行此方法:
[HttpGet]
public void SignOut()
{
IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
authenticationManager.SignOut(MyAuthentication.ApplicationCookie);
}
在登出时我可能漏掉了什么吗?
更新:
这只发生在上面提到的步骤#2。
如果我登录,然后退出(调用相同的代码),然后重新登录,那么我就不会遇到这个问题。