如何解决提供的防伪令牌适用于用户“”,但当前用户是“userId” - Web 表单项目
在向网站添加防伪令牌后 The provided anti-forgery token was meant for user "",but the current user is "userId"
或相反的 The provided anti-forgery token was meant for user "userId",but the current user is ""
错误已显示给许多用户。
我看到一段时间后,一些用户再次尝试使用该页面,该页面发生了错误并且对他们有效(使用不同的会话 ID)。我无法重现该问题。
我的 master.aspx.cs 文件中用于验证令牌的代码:
protected void Page_Load(object sender,EventArgs e)
{
if (Page.IsPostBack)
{
try
{
AntiForgery.Validate();
}
catch
{
Session.Abandon();
throw;
}
}
}
在表单页面上,我使用 <%= System.Web.Helpers.AntiForgery.GetHtml() %>
设置令牌
我已经看到这在 SO 和 google 上是一个很常见的问题,但是这些项目中的大多数都是用 MVC 制作的,而我的项目是在 Web 表单(没有 MVC)中创建的,而且通常它只发生在登录页面上,而对我来说是在几个页面上(登录、投诉、付款页面)。
感谢您提供有关修复的任何信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。