gpt4 book ai didi

asp.net - AntiForgeryToken 阻止用户在某些移动设备上登录

转载 作者:行者123 更新时间:2023-12-02 16:08:09 24 4
gpt4 key购买 nike

我的流程非常简单;用户使用登录表单登录。登录表单执行一个帖子,并定义一个 @Html.AntiForgeryToken。在服务器上,操作方法定义[ValidateAntiForgeryToken]来验证提供的 token 。这是默认的 Microsoft 帐户登录设置逻辑,并且没有进行太多更改。

以下是一些用户收到的错误:

Anti forgery token is meant for user "" but the current user is "username"

并阻止用户登录系统。这种情况仅发生在某些移动设备上的某些用户身上,因此非常孤立。而且,只需登录即可简单;这不是像我在有关该问题的其他帖子中看到的那样的事后操作,因此这是一个需要解决的非常奇怪的问题。

知道为什么某些移动设备会拒绝这个吗?

最佳答案

这主要是因为生成 token 的机制会读取当前用户名,并在生成 AntiForgeryToken 值时将其视为输入,该值在登录完成之前通常是空白用户名。

当您的用户成功登录时,现在用户名值具有“值”,因此旧 token 将无法通过 asp.net 运行时执行的安全检查,因此将显示您提到的错误。

一种方法是通过将以下行添加到全局文件内的 Application_Start 来禁止您的应用程序忽略将用户名作为生成的 token 的一部分:

AntiForgeryConfig.SuppressIdentityHeuristicChecks = true。

关于asp.net - AntiForgeryToken 阻止用户在某些移动设备上登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21797868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com