Microsoft предоставляет Identity Traningskit с различными примерами идентификации, используя WIF 4.5. Пример InvokingViaDelegatedAccess in there demonstrates perfectly the usage of the ActAs- delegation scenario.
However, it cost me days to bring the
InvokingViaDelegatedAccess` Пример запуска и работы. Сделав много обходных путей, я наконец смог запустить установку и выполнить этот пример. Я написал инструкцию по установке, которую вы можете скачать здесь:
введите описание ссылки здесь
Наслаждайтесь))
Однако пример работает на виртуальной машине Windows 7 с установленной Visual Studio 2012.
Правильно, что вы должны сохранить токен начальной загрузки. После входа в ваше веб-приложение вы должны сначала кэшировать токен, который был выдан SecurityTokenService. С помощью WIF 4.5 это можно сделать с помощью следующей команды в файле web.config:
<identityConfiguration saveBootstrapContext="true">
В этом случае WCF ChannelFactory имеет различные методы (CreateChannelWithActAsToken, CreateChannelWithIssuedToken, WithOnBehalfOfToken) поддержка сценариев делегирования из внутреннего приложения в службу WCF. Используя сценарий ActAs, CreateChannelWithActAsToken извлекает токен начальной загрузки, отправляет маркер начальной загрузки в STS, STS создает новый SecurityToken с новыми (или скопированными) значениями утверждений, затем внутренняя служба вызывается с использованием ActAs- SecurityToken. Используя этот метод, новый ActAs-SecurityToken будет выдаваться каждый раз, когда вы вызываете сервис. Если вы этого не хотите, CreateChannelWithIssuedToken может быть лучшим способом для вас, потому что вы можете затем кэшировать выделенный токен в cookie и повторно использовать его для других вызовов.
/ patric seiler, разработчик .net www.itconsulting24.com