- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我收到这个错误:
The provided anti-forgery token was meant for a different claims-based user than the current user.
而且我不确定如何纠正这个问题..
我有一个 MVC5 站点,在这个站点中我有一个登录页面。
这是它发生的场景。
注意事项:
我正在使用 customErrors,这是我看到错误消息的地方。
当我注销用户时,我正在运行此方法:
[HttpGet]
public void SignOut()
{
IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
authenticationManager.SignOut(MyAuthentication.ApplicationCookie);
}
我可能在 SignOut 上遗漏了什么吗?
更新:
这只是因为上面列出的第 2 步而发生。
如果我登录,然后注销(调用相同的代码)然后重新登录,那么我就没有这个问题。
最佳答案
我认为您忽略了发布一些相关代码。您的 Signout
操作返回 void
。如果您直接在浏览器中访问此操作,则用户在注销后将看到一个空白页面,无法继续前进。因此,我只能假设您要么通过 AJAX 调用它,要么作为另一个操作的方法进行调用。
防伪在 MVC 中的工作方式是在用户机器上设置一个包含唯一生成 token 的 cookie。如果用户已登录,他们的用户名将用于组成该 token 。为了在没有设置用户名的情况下获得新的 cookie,用户必须注销并且必须出现新的请求来设置新的 cookie。如果您只是将用户注销而没有进行重定向或其他操作,则新的无用户 cookie 将尚未设置。然后,当用户发帖时,旧的基于用户的 cookie 会被发回,同时 MVC 正在寻找新的无用户 cookie,然后砰的一声:你的异常出现了。
就像我说的,您没有发布足够的代码来确定发生这种情况的确切原因或位置,但简单地说,确保在注销用户后发出新请求,以便可以设置新的 cookie。
关于c# - 如何解决: The provided anti-forgery token was meant for a different claims-based user than the current user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41445760/
我注意到您可以创建具有 session 持久性的凭据。在这种情况下,这意味着什么?我看不出这与网络服务器 session 有何关联或联系。 iOS 应用程序中是否有单独的 session 概念,因为我
我刚刚开始使用 C# 研究装饰器设计模式。 我做了一个例子,除了一件事外,它的功能和我认为的一样。 我有点理解该模式的全部要点是动态地向对象添加功能。 所以当我像这样创建一个对象时: Inventor
当我打开页面时,出现错误: column user_landings_landing.flow_chatbot_id does not exist LINE 1: ...ding"."message"
在 Java 9 之前,我认为包是促进/强制代码模块化和解决命名空间问题的一种方式。包实际上在解决后者方面做得非常糟糕(com.popkernel.myproject.Employee myEmplo
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在测试组件中的键绑定(bind)功能。该组件相当简单,是 keyup 的事件监听器,并启动一个 redux 操作,该操作将隐藏该组件。 我已经在这里清理了我的代码,仅保留相关信息。如果我只使用存储
我对这个功能有一些疑问。 假设我有这个指令: .directive('hello', function () { return { template: 'Hello ',
Mozilla Developer Network documentation for the target attribute of HTML element says : Note: When
it('should call setCampaignDate on click', function () { let spySetCampaign = sinon.spy(wrapper.
我是 Reactjs 的新手,正在尝试使用 Jest 和 enzyme 来测试我的组件。当我尝试模拟点击时它不起作用,我想知道缺少什么? 下面是我的组件: const ViewListComments
由于某些原因,我必须使用 type() 函数在 Django 中创建一个表单类。 我的函数生成器 (makeFurnitureForm()) 的返回语句如下所示: return (type("
一直报错 invalid constructor; your probably meant Account (const Account&). explicit Account (Account ba
我使用的是 Bootstrap 3,我有一个相当标准的页面布局:左侧有一个较宽的列 (.col-md-8),包含纯文本,左侧有一个较窄的列右侧 (.col-md-4),包含一个表单。 每个表单字段依次
考虑使用UNIX套接字作为IPC机制的多个客户端进程与服务器进程联系。 每个客户端代码都在无限循环中运行,以尝试从套接字读取数据或向套接字写入数据。 我的问题:客户如何知道它不是在读取打算由其他进程读
我正在阅读scala doc for the scala.concurrent.duration.Duration class,发现它的开头是: This class is not meant as
此问题有一个后续问题 here . 已关注 this tutorial编译给定的 RegexTestHarness 分别在 console.readLine(String) 和 console.For
得到这段代码: static void prime_test(void) { fprintf(stdout, "child prime_test process started\n");
如果 nil 是用来标记参数结束的,那么我可以使用: [NSArray arrayWithObjects:obj1, obj2, nil, nil, nil]; 第一个 nil 标记数组结束,之后的两
对于此错误的含义是否有简单的解释? error: request for member 'Attributes' in '* printerInfo', which is of pointer typ
我正在尝试通过 user对象作为我的 React Context.Provider 的值如 .然而,React 不喜欢将对象作为子对象传递的想法。这是我收到的错误消息: Error: Objects
我是一名优秀的程序员,十分优秀!