我正在使用 asp.net 核心2.2.1
我在 IIS 上发布了我的代码。每当我第一次运行我的应用程序时,它都会给出如下所示的异常:
Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery|错误|一 反序列化令牌时引发异常。防伪 令牌无法解密。
我试图从最近5天解决此问题,参考了许多链接但没有结果。我也尝试跟随禁用AntiForgery
但没有结果。
services.AddDataProtection().DisableAutomaticKeyGeneration();
这是禁用Antiforgery
或任何其他解决方案来解决相同问题的方法。
很可能令牌之前已使用密钥加密,该密钥不是您的服务器在发出此异常时使用的密钥。您能否尝试将密钥保留在某个地方,以便在重新启动时始终使用相同的密钥,例如使用 https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-3.1#persistkeystofilesystem ?
您还应该检查日志,因为您的应用程序将记录的第一件事是关于密钥的。例如,如果你不坚持它,你可以得到一些日志,比如:"Using an in-memory repository. Keys will not be persisted to storage."
所以,请检查一下。