【发布时间】:2017-01-03 14:28:25
【问题描述】:
我收到此错误:
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);
}
我可能会在 SignOut 上遗漏一些东西吗?
更新:
这只是因为上面列出的第 2 步。
如果我登录,然后注销(调用相同的代码)然后重新登录,那么我没有这个问题。
【问题讨论】:
-
尝试添加 [ValidateAntiForgeryToken] 属性
-
当用户登录时,我的 post 方法中有这个。[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken]
标签: c# asp.net-mvc