2013-02-11 8 views
6

Potrzebuję uzyskać token systemu Windows od roszczeń. Rozwiązaniem jest usługa sieci Web korzystająca z usług WCF, która używa programu ADFS 2.0 i działa w programie IIS ASP.NET 4.0. (Kerberos Token jest potrzebne do dostępu do bazy danych personifikowanego)c2WTS (Żąda usługi tokena systemu Windows) w .net 4.5

W .NET 3.5 i 4.0 Służba c2WTS jest używana do pobierania Tożsamość Windows z roszczeń:

WindowsIdentity Winid = S4UClient.UpnLogon (UPN);

Jednak dokumentacja dla c2WTS stwierdza: "... [Począwszy od platformy .NET Framework 4.5, Windows Identity Foundation (WIF) został w pełni zintegrowany z platformą .NET Framework. WIF 3.5 jest nieaktualny i powinien być używany tylko podczas pracy z .NET Framework 3.5 SP1 lub .NET Framework 4 ... "

Jaki byłby odpowiednik c2WTS w .NET 4.5?

Odpowiedz

5

Nie ma odpowiednika. Ale nadal możesz zainstalować WIF, aby uzyskać usługę C2WTS.

Mechanizm obsługi tokenów zabezpieczeń Saml ma funkcję MapToWindows, która zwraca tożsamość systemu Windows. Jest to podobne do tego, co robi C2WTS, ale 1) tożsamość systemu Windows może być używana tylko do autoryzacji lokalnie - aby podszyć się pod Ciebie, potrzebujesz uprawnień SYSTEMOWYCH. To jest to, w czym działa C2WTS. 2) aby delegować token, musisz skonfigurować ograniczoną delegację w AD (tak jak w przypadku C2WTS).

+0

Dziękuję za sugestie. Nie próbowałem tokenu bezpieczeństwa .NET 4.5 MapToWindows at Saml, ale używam C2WTS. Jestem w stanie uzyskać Tożsamość, ale delegacja do Oracle DB w Linuksie nie działa. Zmagamy się z ograniczoną delegacją z przejściem protokołu w AD do usługi Oracle na Linuksie. Zaznaczę to jako odpowiedź, ponieważ jest to poprawne pytanie, mimo że sprawy nie działają jeszcze jako całość. – HakonIngvaldsen

0

S4U jest wbudowany w tym momencie. Nie potrzebujesz C2WTS. Można po prostu zrobić:

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

przypadku połączeń serwisowych, jeśli ustawisz poświadczeń do DefaultCredentials, powinno być ok, jak to wydaje się wykonać ToWindowsIdentity na SAML tokena obsługi.

Od czasu przejścia do Oracle może być konieczne jawne utworzenie kontekstu Windows i personifikacji (patrz: Creating a service for user (S4U) token).

Wszystko to powiedziawszy, musisz poprawnie skonfigurować delegowanie z ograniczeniami lub delegacja nie będzie działać.

Powiązane problemy