无法解密防伪令牌 .net .core Web 应用中的异常



我正在开发 asp.net 核心Web应用程序。我使用标识进行用户授权。当会话过期时,用户重定向到登录视图。然后用户尝试提交登录表单,有时会出现以下异常:

Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer. 
The antiforgery token could not be decrypted. 

但是,如果用户重新加载页面并尝试再次提交表单,则可以毫无问题地登录旅馆。

我在本地计算机上的同一网站上没有这个问题。

我已经

读过以相同形式应用两次的防伪令牌可能会导致此 feil,但我只有一个令牌,我已经检查过了。

其他建议是使用

<machineKey decryptionKey="Decryption key goes here, IsolateApps" 
                validationKey="Validation key goes here, IsolateApps" />
  </system.web> 

这在这篇文章中描述,情况与我的相似。但是文章从 2013 年开始就很旧了。所以我不确定我是否可以将其与 asp.net 核心一起使用。人们说这种方式在核心 asp.net 行不通。我没有找到任何其他建议如何解决 asp.net 核心中的问题。 所以也许有人有同样的问题,可以帮助我?

我在本地计算机上的同一网站上没有这个问题。

是否要将应用程序部署到多台计算机?然后,您就走上了正确的轨道,查看机器钥匙。 问题是不同的Web服务器将以不同的方式加密和解密。

本文介绍了使用 ASP.NET 核心进行数据保护:https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/introduction

选择哪个数据保护提供商将取决于您的环境。

最新更新