我使用WIF 4.0来构建一个声明感知的RP和STS。我现在遇到了问题,我已经部署到我的生产环境中,使用多个服务器托管应用程序。由于某些原因,我得到了可怕的
[CryptographicException: Key not valid for use in specified state. ]
在用户空闲一段时间后出现错误。我想知道是否有人有这方面的经验?使用机器键会有帮助吗?在服务器上重置IIS时,我也看到了这个错误。我已经将LoadUserProfile设置为true。
我认为你需要在你的web.config中指定类似的东西。此外,您需要在所有服务器上设置相同的机器密钥。
<system.identityModel>
<identityConfiguration>
<securityTokenHandlers>
<remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>