asp.net – 联合身份验证和“加密操作期间发生错误”

前端之家收集整理的这篇文章主要介绍了asp.net – 联合身份验证和“加密操作期间发生错误”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试在ASP.NET MVC应用程序上获得我的主页时,我收到了这个异常。

[CryptographicException: Error occurred during a cryptographic
operation.]
System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2
func,Byte[] input) +246
System.IdentityModel.Services.MachineKeyTransform.Decode(Byte[]
encoded) +191
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte[]
cookie,Boolean outbound) +173
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader
reader,SecurityTokenResolver tokenResolver) +756
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte[]
token,SecurityTokenResolver tokenResolver) +100
System.IdentityModel.Services.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte[]
sessionCookie) +1164
System.IdentityModel.Services.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken&
sessionToken) +287
System.IdentityModel.Services.SessionAuthenticationModule.OnAuthenticateRequest(Object
sender,EventArgs eventArgs) +231
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +165

从我理解的事情在SessionAuthenticationModule的cookie中出错。如果你清除cookies(如这里已经说明的那样),它可以工作。我想要了解发生了什么,如何解决异常并解决问题。

解决方法

该cookie在发布时包含使用当前machineKey加密的安全令牌。当前一个构建的cookie被发送回服务器时,SAM(更确切地说,令牌处理程序)尝试使用导致错误的machineKey的新值对其进行解密。
检查我的答案在相关的帖子( Federated Authentication on Azure)以减轻错误。 HTH

猜你在找的asp.Net相关文章