В разделе описаны настройки провайдера Active Directory Federation Services, работающего по протоколу WS-Federation. Функцию модуля аутентификации выполняет стандартный модуль, который входит в пакет .NET Framework 4.5.
Федеративная аутентификация
Аутентификация с помощью внешнего провайдера Active Directory Federation Services.
Служба маркеров безопасности (Security Token Service, STS)
Служба, которая создает и предоставляет токен безопасности для аутентификации пользователей на других сервисах.
Для использования AD FS в качестве службы маркеров безопасности, настройте AD FS для работы с новым приложением. Подробнее о настройке службы см. в документации Microsoft Azure.
Чтобы настроить службу AD FS для работы на сайте контрольной панели:
1. | Откройте файл web.config. Файл расположен в корневой папке сайта. По умолчанию C:\Inetpub\wwwroot\<Сайт>\. |
2. | В секции modules подключите HTTP-модули WSFederationAuthenticationModule и SessionAuthenticationModule: |
<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"/>
<remove name="Session"/>
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
<remove name="ScriptModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="CheckSession" type="CheckSession" />
<add name="AuthorizationModule" type="Authorization.AuthorizationModule, NpoComputer.KPI" />
</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="{URI сервера 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 |