gpt4 book ai didi

iis - WIF RTM 的奇怪错误,在重置 IIS 后发生

转载 作者:行者123 更新时间:2023-12-04 06:57:58 24 4
gpt4 key购买 nike

我在带有 IIS 7.5 的 Windows Server 2008 上托管我的 Web 应用程序,
我有 2 个网络应用程序:
1.第一个是带有登录页面的核心sso(单点登录)服务。
2. 另一个 Web 应用程序托管在使用第一个应用程序进行 sso 的同一 Web 服务器上。

我正在使用 WIF RTM 来实现 sso,

通常,它运行良好,没有任何问题,用户可以登录抛出 sso 并重定向回起始页面。
但是当我登录时首先抛出 sso,然后重新启动 IIS,如果我回到第二个应用程序并刷新页面,则会出现以下错误:

Server Error in '/' Application. Key not valid for use in specified state. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.

Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[CryptographicException: Key not valid for use in specified state. ]
System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope) +425
Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte[] encoded) +59

[InvalidOperationException: ID1073: A CryptographicException occurred when attempting to decrypt the cookie using the ProtectedData API (see inner exception for details). If you are using IIS 7.5, this could be due to the loadUserProfile setting on the Application Pool being set to false. ] Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte[] encoded) +151
Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte[] cookie, Boolean outbound) +109
Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver) +634
Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte[] token, SecurityTokenResolver tokenResolver) +105
Microsoft.IdentityModel.Web.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte[] sessionCookie) +239
Microsoft.IdentityModel.Web.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken& sessionToken) +59
Microsoft.IdentityModel.Web.SessionAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs eventArgs) +52
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

________________________________________ Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927



用户 session 是使用 SQLServer session 模式存储的,我为此使用了一个特殊的数据库。

我已经尝试了很多,但无法在本地计算机 (Windows7) 上重新处理此问题。
有没有人有类似的经历?你能告诉我如何解决这个问题吗?

最佳答案

这很可能是因为您的应用程序池用户没有持久的用户配置文件。要纠正此问题,您可以以该用户身份运行某些内容:

runas /user:<domain>\<user> cmd

这将创建配置文件。随后,重新启动 IIS 后数据应该是可解密的。

关于iis - WIF RTM 的奇怪错误,在重置 IIS 后发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com