2014-05-22 2 views
0

WIF 4.0을 사용하여 클레임 인식 RP 및 STS를 작성하고 있습니다. 응용 프로그램을 호스팅하는 여러 서버로 프로덕션 환경에 배포 한 지금 문제가 있습니다. 웬일인지 나는 무서워하게된다로드 균형 조정 환경에서의 배포시 WIF 4.0 문제

[CryptographicException: Key not valid for use in specified state. ] 

오랫동안 사용자가 유휴 상태가되면 오류가 난다. 나는 누군가가 이것에 경험이 있는지 궁금 해서요? Machine Key를 사용하면 도움이됩니까? 서버에서 IIS를 재설정 할 때도이 오류가 표시됩니다. LoadUserProfile을 true로 설정했습니다.

답변

0

여러분이 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> 
+0

아쉽게도이 옵션은 WIF 4.5에서만 사용할 수 있습니다. – shenn

+0

당신은 미끄러 져 움직일 수 있습니다. 다른 한편으로, 동일한 접근 방식은 이전 버전에서도 작동합니다. 결론은 세션 보안 토큰 핸들러를 고정 키를 사용하는 것으로 대체해야한다는 것입니다. 이 글을 쓰는 것은 그렇게 어렵지 않습니다. 특히 WIF 4.5 핸들러의 코드를 들여다 보면 알 수 있습니다. –