2013-02-11 1 views
6

클레임에서 Windows 토큰을 가져와야합니다. 이 솔루션은 ADFS 2.0을 사용하고 IIS ASP.NET 4.0에서 실행되는 Claimsware WCF 웹 서비스입니다. .NET 3.5 및 4.0에서.net 4.5의 c2WTS (Windows 토큰 서비스 청구)

C2WTS 서비스는 주장에서 Windows 아이덴티티를 가져 오는 데 사용됩니다 (커버 로스 토큰이 가장 된 데이터베이스 액세스으로 필요) :

WindowsIdentity winId = S4UClient.UpnLogon (UPN);

그러나 c2WTS에 대한 설명서에는 다음 내용이 나와 있습니다. "[.NET Framework 4.5부터는 WIF (Windows Identity Foundation)가 .NET Framework에 완전히 통합되었습니다.]이 주소로 처리되는 WIF 버전 WIF 3.5 항목은 더 이상 사용되지 않으므로 .NET Framework 3.5 SP1 또는 .NET Framework 4 개발시에만 사용해야합니다. "

.NET 4.5에서 c2WTS와 동일한 기능은 무엇입니까?

답변

5

해당 사항이 없습니다. 하지만 여전히 WIF를 설치하여 C2WTS 서비스를받을 수 있습니다.

Saml 보안 토큰 처리기에는 Windows ID를 반환하는 MapToWindows 기능이 있습니다. 이는 C2WTS가하는 것과 유사하지만 -

1) Windows ID는 로컬 권한 부여를 위해서만 사용될 수 있습니다. - 당신은 SYSTEM 권한이 필요합니다. 이것은 C2WTS가 실행되는 것입니다. 2) C2WTS와 마찬가지로 제한 위임을 구성해야하는 토큰을 위임합니다 (C2WTS와 마찬가지로)

+0

제안 해 주셔서 감사합니다. Saml 보안 토큰에서 .NET 4.5 MapToWindows를 시도하지 않았지만 C2WTS를 사용 중입니다. 아이덴티티를 얻을 수는 있지만 리눅스에서 오라클 DB를 위임하는 것은 효과가 없습니다. 우리는 Linux에서 오라클 서비스에 대한 AD의 제약 전환 위임과 프로토콜 전환을 진행하고 있습니다. 비록 그것이 아직 전체적으로 작동하지는 않더라도, 나는 이것이 내 질문에 맞으면 대답으로 표시 할 것이다. – HakonIngvaldsen

0

S4U는 현재이 시점에 구축되어 있습니다. C2WTS가 필요하지 않습니다. 당신은 다만 할 수 있습니다

var id = new WindowsIdentity(valueFromClaim); 
// continue your impersonation 

서비스 호출의 경우는 DefaultCredentials에 대한 자격 증명을 설정 한 경우이는 SAML 토큰 처리기에 ToWindowsIdentity을 실행하기 위해 나타납니다, 당신은 확인해야합니다.

오라클에 들어갈 예정이므로 명시 적으로 Windows 컨텍스트를 만들고 가장 할 필요가 있습니다 (Creating a service for user (S4U) token 참조).

위 모든 내용은 제한된 위임을 올바르게 구성했거나 위임이 작동하지 않는다고 말했습니다.