В разделе описаны настройки провайдера Active Directory Federation Services (AD FS), работающего по протоколу WS-Federation.
Федеративная аутентификация
Аутентификация с помощью внешнего провайдера Active Directory Federation Services.
Служба маркеров безопасности (Security Token Service, STS)
Служба, которая создает и предоставляет токен безопасности для аутентификации пользователей на других сервисах.
Для использования AD FS в качестве службы маркеров безопасности, настройте AD FS для работы с новым приложением. Подробнее о настройке службы см. в документации Microsoft Azure.
Чтобы настроить службу AD FS для работы в веб-клиенте:
1. | Откройте файл web.config. Файл расположен в корневой папке веб-сайта. По умолчанию «C:\Inetpub\wwwroot\<Веб-сайт>\». |
2. | В секции httpModules или modules подключите HTTP-модули WSFederationAuthenticationModule и SessionAuthenticationModule. Название секции зависит от режима пула приложений: httpModules для классического режима, modules для интегрированного режима. |
<httpModules>
<add name="WSFederationAuthenticationModule"
type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SessionAuthenticationModule"
type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</httpModules>
<modules>
<add name="WSFederationAuthenticationModule"
type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
preCondition="managedHandler"/>
<add name="SessionAuthenticationModule"
type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
preCondition="managedHandler"/>
</modules>
3. | В секцию configSections добавьте объявление раздела system.identityModel и пространства имен system.identityModel.services: |
<configSections>
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</configSections>
4. | В корневую секцию файла конфигурации добавьте секции system.identityModel и system.identityModel.services. Подробнее об элементах секций и значениях атрибутов см. в документации «Схема настройки WIF». |
<configuration>
...
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="{Адрес сервера веб-доступа}"/>
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add thumbprint="{Отпечаток сертификата, которым токен безопасности подписывается в STS}" name="{URL сервера STS}"/>
</trustedIssuers>
</issuerNameRegistry>
<certificateValidation certificateValidationMode="None"/>
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false"/>
<wsFederation passiveRedirectEnabled="true" issuer="{ URI сервера STS }" realm="{Имя приложения веб-доступа}" reply="{URL-адрес страницы, которая откроется после успешной аутентификации}" requireHttps="false"/>
</federationConfiguration>
</system.identityModel.services>
...
</configuration>
Подробнее о настройках и подключении HTTP-модулей WSFederationAuthenticationModule и SessionAuthenticationModule см. в документации Microsoft Developer Network.
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |