Asp.net mvc 错误:无法解密反伪造令牌。在密钥环中找不到密钥{guid}
我们在一个有2台服务器的web服务器场上运行ASP.NET MVC Core 1.1应用程序,当用户尝试上载文件时,遇到这些异常。我们认为这是因为get请求来自一台服务器,而他们的post可能会发送到另一台web服务器,从而导致密钥不匹配 有没有办法绕过这个问题 错误1: 无法解密反伪造令牌 在Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer.Deserialize(字符串 (说)在 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.DeserializeTokens(HttpContext httpContext,AntiforgeryTokenSet AntiforgeryTokenSet, AntiforgeryToken&cookieToken、AntiforgeryToken&requestToken)位于 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext,AntiforgeryTokenSet AntiforgeryTokenSet)位于 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.d_u9.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.d_u3.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d_u20.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在Microsoft.AspNetCore.Builder.RouterMiddleware.d_u4.MoveNext()上 ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.HttpOverrides.httpmethodoverridemddleware.d_u4.MoveNext() ---上一个位置的堆栈结束跟踪,其中EXE 错误2:无法解密反伪造令牌 在 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer.Deserialize(字符串 (说)在 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.DeserializeTokens(HttpContext httpContext,AntiforgeryTokenSet AntiforgeryTokenSet, AntiforgeryToken&cookieToken、AntiforgeryToken&requestToken)位于 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext,AntiforgeryTokenSet AntiforgeryTokenSet)位于 Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.d_u9.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.d_u3.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d_u20.MoveNext() ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在Microsoft.AspNetCore.Builder.RouterMiddleware.d_u4.MoveNext()上 ---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.AspNetCore.HttpOverrides.httpmethodoverridemddleware.d_u4.MoveNext() ---上一个位置的堆栈结束跟踪,其中EXEAsp.net mvc 错误:无法解密反伪造令牌。在密钥环中找不到密钥{guid},asp.net-mvc,asp.net-core,Asp.net Mvc,Asp.net Core,我们在一个有2台服务器的web服务器场上运行ASP.NET MVC Core 1.1应用程序,当用户尝试上载文件时,遇到这些异常。我们认为这是因为get请求来自一台服务器,而他们的post可能会发送到另一台web服务器,从而导致密钥不匹配 有没有办法绕过这个问题 错误1: 无法解密反伪造令牌 在Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer.Deserialize(字符串 (说)在 Micro
您是否定义了机器密钥(请参见此:)?两台服务器应具有相同的配置条目(可以在IIS中生成,也可以通过联机工具生成)
您是否定义了机器密钥(请参见此:)?两台服务器应具有相同的配置条目(可以在IIS中生成,也可以通过联机工具生成)
对于在IIS上运行的DotNetCore应用程序,如果应用程序池设置为使用AppPoolIdentity,则需要确保在应用程序池高级设置中将“加载用户配置文件”设置为“True” 见:
对于在IIS上运行的DotNetCore应用程序,如果应用程序池设置为使用AppPoolIdentity,则需要确保在应用程序池高级设置中将“加载用户配置文件”设置为“True” 见:
<machineKey
validationKey="GENERATED VALUE"
decryptionKey="GENERATED VALUE"
validation="SHA1"
decryption="AES" />