c2WTS (претензии к службе токенов windows) in.net 4.5

Мне нужно получить токен Windows из утверждений. Решение-это веб-сервис WCF, который использует ADFS 2.0 и работает в IIS ASP.NET 4.0. (Маркер kerberos необходим для олицетворенного доступа к базе данных)

в .NET 3.5 и 4.0 служба c2WTS используется для получения удостоверения Windows из утверждений:

WindowsIdentity winId = S4UClient.UpnLogon (upn);

но документация для c2WTS гласит следующее: "...[Начиная с .NET Платформа 4.5, Windows Identity Foundation (WIF) была полностью интегрирована в .NET Framework. Версия WIF, рассмотренная в этом разделе, WIF 3.5, устарела и должна использоваться только при разработке с .NET Framework 3.5 SP1 или .NET Framework 4..."

Что было бы эквивалентом c2WTS в .NET 4.5?

2 ответов


нет эквивалента. Но вы все равно можете установить WIF, чтобы получить сервис C2WTS.

обработчик маркеров безопасности Saml имеет функцию MapToWindows, которая возвращает идентификатор Windows. Это похоже на то, что делает C2WTS-но

1) удостоверение windows может использоваться только для авторизации локально - для олицетворения вам понадобятся системные привилегии. Это то, под чем работает C2WTS. 2) чтобы делегировать токен, вам нужно настроить ограниченное делегирование в AD (так же, как с Служба c2wts)


s4u встроен в этот момент времени. Вам не нужны C2WTS. Вы можете просто сделать:

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

для вызовов службы, если вы задаете учетные данные DefaultCredentials, вы должны быть в порядке, так как это кажется, чтобы выполнить ToWindowsIdentity на обработчике маркера SAML.

поскольку вы собираетесь в Oracle, вам может потребоваться явно создать контекст Windows и олицетворять (см.:создание сервиса для токена пользователя (S4U)).

все, что сказал, Вы необходимо правильно настроить ограниченное делегирование, иначе делегирование не будет функционировать.