当我尝试在ASP.NET MVC应用程序上获取主页时出现此异常。
[CryptographicException:加密期间发生错误 操作]
System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func,Byte []输入)+246
System.IdentityModel.Services.MachineKeyTransform.Decode(字节[] 编码)+191
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(字节[] cookie,布尔值出站)+173
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(的XmlReader 读者,SecurityTokenResolver tokenResolver)+756
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(字节[] token,SecurityTokenResolver tokenResolver)+100
System.IdentityModel.Services.SessionAuthenticationModule.ReadSessionTokenFromCookie(字节[] sessionCookie)+1164
System.IdentityModel.Services.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken&安培; sessionToken)+287
System.IdentityModel.Services.SessionAuthenticationModule.OnAuthenticateRequest(对象 sender,EventArgs eventArgs)+231
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+165
据我所知,SessionAuthenticationModule的cookie出了问题。如果您清除了Cookie(如此处所述Federated Authentication on Azure),则可以使用。我想要的是了解发生了什么,如何捕捉异常并解决问题。
答案 0 :(得分:16)
发布时,cookie包含使用当前machineKey加密的安全令牌。当前一个版本的cookie被发送回服务器时,SAM(更准确地说是令牌处理程序)尝试使用machineKey的新值来解密它,这会导致错误。 在相关帖子(Federated Authentication on Azure)中检查我的答案以缓解错误。 HTH
答案 1 :(得分:3)
我遇到了同样的问题。 我刚清除了所有浏览器的Cookie 和缓存数据,它已修复。