웹 레이어에서 WCF 레이어로 클레임 위임을 구현하려고합니다.ClaimsAuthenticationManager를 사용하여 사용자 지정 클레임이 추가 된 웹과 wcf 레이어 간의 WIF 4.5를 사용한 ID 위임
이것은 ClaimsIdentity BootstrapContext에서 얻은 ActAs Token을 사용하여 훌륭하게 작동합니다.
ACS에서 웹 계층에서 수신되는 모든 클레임은 WCF 계층으로 올바르게 전달됩니다.
그러나, 나는 또한 수신 주장을 풍부하게 할 필요가
이http://msdn.microsoft.com/en-us/library/ee517269.aspx 가 (하지만이 구체적인 예는 WIF (4)와 관련된 것으로 판단) :
이 여기에 설명 된대로와 유사한 설정 우리 자신의 내부 주장을 추가하는 것. ClaimsAuthenticationManager를 사용하여이 작업을 수행합니다.
이
여기에 설명 된대로 유사 달성이 잘 작동하고, 추가되는 추가 클레임은 웹 응용 프로그램 내 모든 곳에서 ClaimsIdentity 내에서 다음을 사용할 수 있습니다 http://msdn.microsoft.com/en-us/library/system.security.claims.claimsauthenticationmanager.aspx.
그러나 이러한 행위는 ClaimsIdentity.BootstrapContext에서 얻은 토큰으로 전달되지 않습니다.
이 이유는 BootstrapContext에 원래의 소유권 주장이 포함되어있어 내가 추가 한 추가 내부 소유권 주장이 포함되어 있지 않기 때문입니다.
내부적으로 추가 된 클레임을 actas 토큰 내의 WCF 레이어에 전달하려면 어떤 방법이 필요합니다.
BootstrapContext가 내가 추가하는 클레임을 포함하도록하는 방법이 있습니까, 아니면 토큰으로 행위로 사용할 수있는 Currrent ClaimsIdentity/Principle에서 SecurityToken을 생성하는 방법이 있습니까 (이 경우처럼 그런 다음 추가 클레임을 포함).
나는 이것을 고려해 보았지만 위임/액타스에 대한 생각이 모든 것을 통과시키는 것 (다른 변형을해야 함)이라고 생각할 때 두 레이어에서 중복시켜야하는 것처럼 보였다. 그래서 나는 이것을하는 방법을 이상적으로 찾고있었습니다. – Kramer00
마지막으로 wcf 레이어에서 동일한 변환을 수행하는 것이 정확한 기술이라는 것도 다른 확인을 받았습니다. Microsoft ADM의 응답에 따르면이 동작은 토큰이 STS에 의해 서명되고 서명을 손상시키고 전체 보안 모델을 손상시킬 수있는 주장을 추가하기 때문에 의도적으로 설계된 것으로 결론지었습니다. – Kramer00