Руководство по настройке единого входа SAML SSO в ASP.NET Framework с использованием Shibboleth-2 в качестве поставщика идентификации.
Обзор
Модуль единого входа (SSO) ASP.NET SAML дает возможность включить Единый вход SAML для ваших ASP.NET-приложений. Используя Единая точка входа Для доступа к вашему сайту можно использовать только один пароль. Приложение ASP.NET и услуг. Наш модуль совместим со всеми Поставщики идентификационных данных, соответствующие стандарту SAMLЗдесь мы рассмотрим пошаговое руководство по настройке. Единый вход (SSO) между ASP.NET и Шибболет-2 принимая во внимание Шибболет-2 в качестве IdP.
Поддержка платформы: Модуль ASP.NET SAML SSO поддерживает платформы ASP.NET 3.5 и выше.
Предварительные условия: загрузка и установка
- Чтобы установить пакет NuGet miniOrange SAML SSO Для интеграции в ваше .NET-приложение просто установите пакет miniOrange NuGet поверх вашего приложения.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- После установки откройте браузер и перейдите в панель управления модуля по указанному ниже URL-адресу:
http(s)<your-dotnet-application-base-url>?ssoaction=config
- Если появляется страница регистрации или страница входа в систему, значит, вы успешно добавили модуль miniOrange SAML SSO в свое приложение.
- Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрировать филиал кнопка для настройки модуля.
- После успешной регистрации вы получите пробный лицензионный ключ на указанный вами адрес электронной почты.
- Для активации модуля вы можете сделать одно из следующих действий:
- Введите лицензионный ключ получено по электронной почте в указанное поле ввода.
- Загрузите скачанный файл лицензии, нажав на кнопку. Кликните сюда .
OR
- Затем поставьте галочку в поле «Я ознакомился с вышеизложенными условиями и хочу активировать модуль» и нажмите кнопку. Активировать лицензию .
Шаги настройки
1. Предоставьте метаданные .NET-приложения поставщику идентификации Shibboleth-2.
Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.
A] Использование URL-адреса метаданных SAML или файла метаданных
- В Меню настроек плагина, искать Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
- Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
B] Загрузка метаданных вручную
- Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например: Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода. и поделитесь им со своим поставщиком идентификационных данных для настройки.
- Вы можете ознакомиться с приведенным ниже скриншотом:
-
В файле conf/idp.properties раскомментируйте строку и установите значение 'idp.encryption.optional' в true.
например, idp.encryption.optional = true
- In conf/relying-party.xml, настройте поставщика услуг следующим образом
<MetadataProviderxsi:type="InlineMetadataProvider"
xmlns="urn:mace:shibboleth:2.0:metadata" id="MyInlineMetadata">
<EntitiesDescriptorxmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<md:EntityDescriptorxmlns:md="urn:oasis:names:tc:SAML:2
entityID="<ENTITY_ID_FROM_PLUGIN>">
<md:SPSSODescriptorAuthnRequestsSigned="false"
WantAssertionsSigned="true" protocolSupportEnumeration = "urn:oasis:names:tc:SAML:2.0:protocol">
<md:nameidformat>urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress</md:NameIDFormat>
<md:AssertionConsumerServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:https-POST"
Location="<ACS_URL_FROM_PLUGIN>" index="1"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
</EntitiesDescriptor>
</MetadataProvider>
</md:nameidformat>
- Убедитесь, что ваш сервер Shibboleth отправляет Ваш e-mail пользователя в Имя IDВ файле attribute-resolver.xml получите атрибут email в качестве идентификатора имени (Name ID):
<resolver:AttributeDefinitionxsi:type="ad:Simple" id="email" sourceAttributeID="mail">
<resolver:Dependency ref="ldapConnector" />
<resolver:AttributeEncoderxsi:type="enc:SAML2StringNameID"
nameFormat="urn:oasis:names:tc:SAML:1.1:
nameid-format:emailAddress"/>
</resolver:AttributeDefinition>
- В attribute-filter.xml освободите атрибут email:
<afp:AttributeFilterPolicy id="releaseTransientIdToAnyone">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Перезапустите сервер Shibboleth.
- Необходимо настроить эти конечные точки в модуле ASP.NET SAML.
| Идентификатор объекта IDP | https://<your_domain>/idp/shibboleth |
| URL-адрес единого входа | https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
| Сертификат Х.509 | Сертификат открытого ключа вашего сервера Shibboleth |
- Вы успешно настроили Shibboleth-2 в качестве поставщика идентификации SAML (IdP) для обеспечения единого входа Shibboleth в ваше ASP.NET-приложение.
2. Настройка метаданных поставщика идентификации Shibboleth-2 в приложении .NET
- Нажмите на Выберите своего IDP кнопка для настройки нового поставщика идентификации.
- Под Плагин Настройки вкладка, выберите Шибболет-2 в качестве поставщика идентификационных данных из представленного списка.
Ниже описаны два способа настройки метаданных поставщика идентификации SAML в модуле.
A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
- Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в модуле, используя... Загрузка метаданных IDP опцию.
- Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
- Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
B] Настройте метаданные поставщика идентификации вручную:
- После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и Сертификат SAML X509 поля соответственно.
- Нажмите Сохранено чтобы сохранить данные вашего IDP.
3. Тестирование SAML SSO
- После загрузки метаданных перейдите по ссылке. Настройки поставщика идентификации раздел. Наведите курсор на Выберите действия раскрывающийся список и нажмите на Тестовая конфигурация.
- На скриншоте ниже показан успешный результат. Нажмите на SSO интеграция для дальнейшего продолжения интеграции SSO.
- Если на стороне модуля возникнет ошибка, вы увидите окно, похожее на приведенное ниже.
- Для устранения ошибки выполните следующие действия:
- Под Устранение неполадок Вкладка, включите переключатель, чтобы получать журналы плагина.
- После включения вы сможете получать журналы плагина, перейдя по адресу... Плагин Настройки вкладку и нажав на Тестовая конфигурация.
- Скачать журнальный файл из Устранение неполадок Нажмите вкладку, чтобы посмотреть, что пошло не так.
- Вы можете поделиться журнальный файл с нами в aspnetsupport@xecurify.com Наша команда свяжется с вами, чтобы решить вашу проблему.
4. Сопоставление атрибутов
- После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
- В левом меню модуля miniOrange ASP.NET SAML SSO нажмите на Сопоставление атрибутов/ролей вкладка, как показано на изображении.
- Если вы хотите передать дополнительные атрибуты из вашего поставщика идентификации (IdP), введите имя атрибута и соответствующее значение атрибута в соответствующем поле. Пользовательское сопоставление атрибутов.
- Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
- После сопоставления атрибутов нажмите Сохранить сопоставление атрибутов для внесения изменений.
5. Интеграционный код
- Эти шаги позволяют получить информацию о пользователе SSO в вашем приложении в виде сессии.
- Вы также можете посмотреть установка тура чтобы понять, как будет работать интеграция SSO в вашем модульном приложении ASP.NET.
- Просто скопируйте и вставьте этот фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
- Примечание: В пробном модуле данные аутентифицированного пользователя хранятся в переменных сессии. Поддержка установки пользовательских утверждений с использованием аутентификации на основе заголовков, файлов cookie и JWT доступна в нашем премиум-плагине.
6. Настройки входа в систему
- Наведите указатель мыши на Выберите действия и нажмите на Скопировать ссылку SSO.
- Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
https://<asp.net-module-base-url>/?ssoaction=login
- Например, вы можете использовать его следующим образом:
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. Настройки выхода из системы
- Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO:
https://<asp.net-module-base-url>/?ssoaction=logout
- Например, вы можете использовать его следующим образом:
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
Статьи по теме
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
