数据保护操作失败。这可能是由于没有为当前线程的用户上下文加载用户配置文件引起的,这可能是线程模拟时的情况。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Security.Cryptography.CryptographicException:数据保护操作失败。这可能是由于没有为当前线程的用户上下文加载用户配置文件引起的,这可能是线程模拟时的情况。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[CryptographicException:数据保护操作失败。这可能是由于没有为当前线程的用户上下文加载用户配置文件引起的,这可能是线程模拟时的情况。 System.Security.Cryptography.ProtectedData.Protect(Byte [] userData,Byte [] optionalEntropy,DataProtectionScope scope)+379 System.IdentityModel.ProtectedDataCookieTransform.Encode(Byte [] value)+52
[InvalidOperationException:ID1074:尝试使用ProtectedData API加密cookie时发生CryptographicException(有关详细信息,请参阅内部异常)。如果您使用的是IIS 7.5,则可能是由于应用程序池上的loadUserProfile设置被设置为false。 ] System.IdentityModel.ProtectedDataCookieTransform.Encode(Byte [] value)+167 System.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte [] cookie,Boolean outbound)+57 System.IdentityModel.Tokens.SessionSecurityTokenHandler.WriteToken(XmlWriter writer,SecurityToken令牌)+658 System.IdentityModel.Tokens.SessionSecurityTokenHandler.WriteToken(SessionSecurityToken sessionToken)+86 System.IdentityModel.Services.SessionAuthenticationModule.WriteSessionTokenToCookie(SessionSecurityToken sessionToken)+144 System.IdentityModel.Services.SessionAuthenticationModule.AuthenticateSessionSecurityToken(SessionSecurityToken sessionToken,Boolean writeCookie)+82 System.IdentityModel.Services.WSFederationAuthenticationModule.SetPrincipalAndWriteSessionToken(SessionSecurityToken sessionToken,Boolean isSession)+216 System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase request)+860 System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender,EventArgs args)+369 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+69
我该怎么办? 我已正确设置了URL。我在web.config中没有任何“localhost”的记录。 我不知道为了这项工作我必须另外设置什么..
答案 0 :(得分:0)
默认情况下,WIF使用DPAPI加密Cookie。切换到基于证书的加密。看到这个答案:
答案 1 :(得分:0)
Vittorio Bertocci在这里回答了这个问题 http://www.cloudidentity.com/blog/2013/01/28/running-wif-based-apps-in-windows-azure-web-sites-4/
云网络应用程序中没有DPAPI,4.5有一个简单的解决方案