В этом сценарии с помощью шаблонов WIF для Visual
Studio и программы FedUtil создается веб-сайт ASP.NET для доступа к
утверждениям текущего пользователя через объект IClaimsPrincipal.
Для этого необходимо добавить в проект модуль ClaimsPrincipalHttpModule
с помощью программы FedUtil. Этот модуль позволяет преобразовать
объект IPrincipal
текущего пользователя в объект
IClaimsPrincipal.
Примечание. |
---|
Для корректной работы FedUtil необходимо запустить Visual Studio в режиме с повышенными правами. |
Создайте в Visual Studio веб-сайт ASP.NET, поддерживающий утверждения, как показано в разделе Веб-сайт ASP.NET, поддерживающий утверждения.
Затем щелкните правой кнопкой мыши проект в обозревателе решений и выберите команду "Добавить ссылку на службу STS".
Откроется программа FedUtil. Откроется диалоговое окно FedUtil со страницей приветствия служебной программы федерации.
На этой странице необходимо заполнить два поля:
- Расположение конфигурации приложения: укажите путь к файлу
web.config веб-сайта ASP.NET. При запуске программы FedUtil не из
Visual Studio это поле пусто. При запуске программы FedUtil
запущена из Visual Studio данное поле уже будет содержать путь к
файлу web.config текущего проекта. Файл web.config должен к этому
моменту существовать и находиться в состоянии по умолчанию (в том,
в каком он был создан средствами Visual Studio). Если программа
FedUtil запускается несколько раз для одного и того же файла
web.config, она будет просто перезаписывать содержимое, добавляемое
в web.config.
- URI приложения: укажите универсальный код ресурса (URI)
веб-сайта ASP.NET. При запуске программы FedUtil не из Visual
Studio это поле пусто. При запуске программы FedUtil из Visual
Studio данное поле будет содержать два кода URI для этого проекта:
один с именем localhost, другой с полным доменным именем данного
компьютера (если оно определено). Если код URI не является
безопасным (т. е. не начинается с https://), при нажатии кнопки
"Далее" появится соответствующее предупреждение.
После ввода необходимых сведений нажмите кнопку "Далее". Откроется страница "Служба STS".
Выберите параметр "Без службы STS" и нажмите кнопку "Далее". Откроется страница "Сводка".
Нажмите кнопку "Готово".
Откройте файл default.aspx.cs и обратите внимание на первые две строки в методе Page_Load:
Копировать код | |
---|---|
IClaimsPrincipal claimsPrincipal = Page.User as IClaimsPrincipal; IClaimsIdentity claimsIdentity = ( IClaimsIdentity )claimsPrincipal.Identity; |
Остальной код представляет собой список утверждений для текущего пользователя и их значений.