Результаты поиска :

×

Руководство по настройке единого входа SAML в ASP.NET Core с использованием Shibboleth в качестве поставщика идентификации.

Промежуточное ПО ASP.NET Core SAML для единого входа (SSO) дает возможность включить Единый вход SAML для ваших приложений ASP.NET Core. Используя единый вход (Single Sign-On), вы можете использовать только один пароль для доступа к вашим приложениям. Приложение ASP.NET Core и услуг. Наше промежуточное программное обеспечение совместимо со всеми Поставщики идентификации, соответствующие стандарту SAMLЗдесь мы шаг за шагом рассмотрим настройку единого входа (SSO) между пользователями. Ядро ASP.NET и шибболет принимая во внимание шибболет в качестве IdP.

Поддержка платформы: Промежуточное ПО SAML для ASP.NET Core поддерживает ASP.NET Core 2.0 и выше. Оно поддерживает все платформы ASP.NET Core, включая Windows, Linux и macOS.


Пакет NuGet
.NET интерфейс командной строки

PM> NuGet\Install-Package miniOrange.SAML.SSO


Примечание: Для интеграции промежуточного ПО miniOrange ASP.NET SAML SSO в ваше приложение вам потребуется добавить в проект следующие пространства имен, сервисы и промежуточное ПО; ниже приведен пример реализации для справки.
Включите в текст только выделенный ниже фрагмент. Программа.cs файл вашего приложения.

  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseminiOrangeSAMLSSOMiddleware();
  app.Run();
Пакет NuGet
.NET интерфейс командной строки

PM> NuGet\Install-Package miniOrange.SAML.SSO


Примечание: Для интеграции промежуточного ПО miniOrange ASP.NET SAML SSO в ваше приложение вам потребуется добавить в проект следующие пространства имен, сервисы и промежуточное ПО; ниже приведен пример.
Включите в текст только выделенный ниже фрагмент. Программа.cs файл вашего приложения.

  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
      }

      app.UseHttpsRedirection();

      app.UseCookiePolicy();
      app.UseAuthentication();

      #if NET9_0_OR_GREATER
      app.MapStaticAssets();
      #else
      app.UseStaticFiles();
      #endif

      app.UseminiOrangeSAMLSSOMiddleware();

      app.UseRouting();
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
        endpoints.MapRazorPages();
      });
    }
  }
  • Войти, чтобы http://portal.miniorange.com/ и перейдите в Скачать Вкладка. Там найдите приобретенный плагин и нажмите на него. Скачать плагин Чтобы скачать ZIP-файл плагина.
Скачать плагин ASP.NET SSO Middleware Enterprise

  • Распакуйте загруженный zip-файл на свой компьютер и поместите файл пакета NuGet (.nupkg) в папку, например, "C:\miniOrangePackages".
  • Выполните следующую команду в терминале Visual Studio, чтобы добавить его в качестве источника пакетов:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Откройте свой проект в терминале:
cd C:\Path\To\YourProject
  • Установите пакет в свой проект, используя следующую команду:
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage

OR

  • После размещения пакета NuGet (.nupkg-файла) в локальной папке, вместо использования терминала, вы также можете установить его с помощью Visual Studio, выполнив следующие действия:
  • Откройте ваше .NET-приложение в Visual Studio, затем нажмите на Инструменты в верхней панели навигации и перейдите к Диспетчер пакетов NuGet → Управление пакетами NuGet для решения.
Менеджер пакетов NuGet

  • Откроется новое окно; нажмите на него. значок передач рядом с выпадающим списком «Источник пакета».
значок Шестеренки

  • Откроется всплывающее окно; выберите Источники пакетов В левой панели навигации нажмите на значок плюса. (+) значок, введите имя В качестве источника пакета укажите путь к папке, куда вы поместили пакет NuGet. Источник поле, затем щелкните Обновление ПО и, наконец, нажмите OK Чтобы сохранить изменения, как показано на изображении.
Окно «Источники пакетов»

  • После закрытия всплывающего окна выберите недавно добавленный источник пакетов из списка. Источник пакета падать.
Выпадающий список «Источник пакета»

  • Теперь нажмите на Вставить вкладка, поиск miniOrange.SAML.SSOВыберите пакет из результатов поиска и нажмите «Установить».
miniOrange.SAML.SSO

  • Примечание: Для интеграции промежуточного ПО miniOrange ASP.NET SAML SSO в ваше приложение вам потребуется добавить в проект следующие пространства имен, сервисы и промежуточное ПО; ниже приведен пример реализации для справки.
    Включите в текст только выделенный ниже фрагмент. Программа.cs файл вашего приложения.
  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseminiOrangeSAMLSSOMiddleware();
  app.Run();
  • Войти, чтобы http://portal.miniorange.com/ и перейдите в Скачать Вкладка. Там найдите приобретенный плагин и нажмите на него. Скачать плагин Чтобы скачать ZIP-файл плагина.
Скачать плагин ASP.NET SSO Middleware Enterprise

  • Распакуйте загруженный zip-файл на свой компьютер и поместите файл пакета NuGet (.nupkg) в папку, например, "C:\miniOrangePackages".
  • Выполните следующую команду в терминале Visual Studio, чтобы добавить его в качестве источника пакетов:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Откройте свой проект в терминале:
cd C:\Path\To\YourProject
  • Установите пакет в свой проект, используя следующую команду:
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage

OR

  • После размещения пакета NuGet (.nupkg-файла) в локальной папке, вместо использования терминала, вы также можете установить его с помощью Visual Studio, выполнив следующие действия:
  • Откройте ваше .NET-приложение в Visual Studio, затем нажмите на Инструменты в верхней панели навигации и перейдите к Диспетчер пакетов NuGet → Управление пакетами NuGet для решения.
Менеджер пакетов NuGet

  • Откроется новое окно; нажмите на него. значок передач рядом с выпадающим списком «Источник пакета».
значок Шестеренки

  • Откроется всплывающее окно; выберите Источники пакетов В левой панели навигации нажмите на значок плюса. (+) значок, введите имя В качестве источника пакета укажите путь к папке, куда вы поместили пакет NuGet. Источник поле, затем щелкните Обновление ПО и, наконец, нажмите OK Чтобы сохранить изменения, как показано на изображении.
Окно «Источники пакетов»

  • После закрытия всплывающего окна выберите недавно добавленный источник пакетов из списка. Источник пакета падать.
Выпадающий список «Источник пакета»

  • Теперь нажмите на Вставить вкладка, поиск miniOrange.SAML.SSOВыберите пакет из результатов поиска и нажмите «Установить».
miniOrange.SAML.SSO

  • Примечание: Для интеграции промежуточного ПО miniOrange ASP.NET SAML SSO в ваше приложение вам потребуется добавить в проект следующие пространства имен, сервисы и промежуточное ПО; ниже приведен пример реализации для справки.
    Включите в текст только выделенный ниже фрагмент. Программа.cs файл вашего приложения.
  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
      }

      app.UseHttpsRedirection();

      app.UseCookiePolicy();
      app.UseAuthentication();

      #if NET9_0_OR_GREATER
      app.MapStaticAssets();
      #else
      app.UseStaticFiles();
      #endif

      app.UseminiOrangeSAMLSSOMiddleware();

      app.UseRouting();
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
        endpoints.MapRazorPages();
      });
    }
  }

Пошаговое руководство по использованию ASP.NET Core SAML SSO с Shibboleth в качестве поставщика идентификации.

  • После интеграции откройте браузер и перейдите на панель управления коннектором по указанному ниже URL-адресу:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Если появляется страница регистрации или страница входа в систему, значит, вы успешно добавили промежуточное ПО miniOrange SAML SSO в свое приложение.
Страница регистрации ASP.NET Core

  • Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрироваться на вебинар на украинском можно кнопка для настройки промежуточного программного обеспечения.
  • После успешной регистрации вы получите пробный лицензионный ключ на указанный вами адрес электронной почты.
  • Для активации промежуточного программного обеспечения вы можете сделать одно из следующих действий:
    • Введите лицензионный ключ получено по электронной почте в указанное поле ввода.

    OR

    • Загрузите скачанный файл лицензии, нажав на кнопку. Кликните сюда .
Промежуточное программное обеспечение ASP.NET. Проверка пробной лицензии.

  • Затем поставьте галочку в поле «Я ознакомился с вышеизложенными условиями и хочу активировать промежуточное ПО» и нажмите кнопку. Активировать лицензию .
Активация лицензии ASP.NET Middleware
  • После интеграции откройте браузер и перейдите на панель управления коннектором по указанному ниже URL-адресу:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Если появляется страница входа в систему, значит, вы успешно добавили промежуточное ПО miniOrange SAML SSO в свое приложение.
ASP.NET Core - страница входа

  • Для настройки промежуточного программного обеспечения войдите в систему, используя свою лицензированную учетную запись miniOrange.
  • После входа в систему Настройка учетной записи Откроется панель управления. Введите лицензионный ключ для активации плагина, который вы получите после входа в систему. portal.miniorange.com и переход к Управление лицензиями → Лицензионные ключи.
Активация лицензии

  • Затем поставьте галочку в соответствующем поле. «Я ознакомился с двумя вышеуказанными условиями и хочу активировать плагин»., и нажмите Активировать лицензию .
Флажок активации лицензии

Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.

A] Использование URL-адреса метаданных SAML или файла метаданных
  • В Меню настроек плагина, искать Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
  • Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Core - Метаданные поставщика услуг

B] Загрузка метаданных вручную
  • Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например: Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода. и поделитесь им со своим поставщиком идентификационных данных для настройки.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Core - ввод данных хранимой процедуры вручную.

  • В файле conf/idp.properties раскомментируйте строку и установите значение 'idp.encryption.optional' в true.
    например, idp.encryption.optional = true
  • In conf/metadata-providers.xml, настройте поставщика услуг следующим образом

  <MetadataProvider xmlns:samlmd="urn:oasis:names:tc:SAML:2.0:metadata"

  id="miniOrangeInLineEntity" xsi:type="InlineMetadataProvider" sortKey="1">

  <samlmd:EntityDescriptor ID="entity" entityID="<SP-EntityID / Issuer from Service Provider Info   tab in plugin.>"

  validUntil="2020-09-06T04:13:32Z">

  <samlmd:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true"

  protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

  <samlmd:NameIDFormat>

  urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

  </samlmd:NameIDFormat>

  <samlmd:AssertionConsumerServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"

  Location="<ACS (AssertionConsumerService) URL from Step1 of the plugin under Identity Provider   Tab.>"

  index="1" />

  </samlmd:SPSSODescriptor>

  </samlmd:EntityDescriptor>

  </MetadataProvider>

  • In conf/saml-nameid.properties, раскомментируйте и установите значение по умолчанию ИмяID as Ваш e-mail как это.
  idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • In conf/saml-nameid-xmlНайдите shibboleth.SAML2NameIDGenerators. Раскомментируйте bean-компонент shibboleth.SAML2AttributeSourcedGenerator и закомментируйте все остальные bean-компоненты.

  <!-- SAML 2 NameID Generation -->

  <util:list id="shibboleth.SAML2NameIDGenerators">

  <!--<ref bean="shibboleth.SAML2TransientGenerator" /> -->

  <!--<ref bean="shibboleth.SAML2PersistentGenerator" /> -->

  <bean parent="shibboleth.SAML2AttributeSourcedGenerator"

  p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"

  p:attributeSourceIds="#{ {'email'} }" />

  </util:list>

  • Убедитесь, что вы определили AttributeDefinition в conf/attribute-resolver.xml.

  <!-- Note: AttributeDefinitionid must be same as what you provided in attributeSourceIds in   conf/saml-nameid.xml -->

  <resolver:AttributeDefinitionxsi:type="ad:Simple" id="email" sourceAttributeID="mail">

  <resolver:Dependency ref="ldapConnector" />

  <resolver:AttributeEncoderxsi:type="enc:SAML2String" name="email" friendlyName="email" />

  </resolver:AttributeDefinition>

  <resolver:DataConnector id="ldapConnector"
  xsi:type="dc:LDAPDirectory"
  ldapURL="%{idp.authn.LDAP.ldapURL}"
  baseDN="%{idp.authn.LDAP.baseDN}"
  principal="%{idp.authn.LDAP.bindDN}"
  principalCredential="%{idp.authn.LDAP.bindDNCredential}">

  <dc:FilterTemplate>

  <!-- Define you User Search Filter here -->

  <![CDATA[(&(objectclass=*) (cn=$requestContext.principalName)) ]]>

  </dc:FilterTemplate>

  <dc:ReturnAttributes>*</dc:ReturnAttributes>

  </resolver:DataConnector>

  • Убедитесь, что параметр AttributeFilterPolicy определен в conf/attribute-filter.xml.

  <afp:AttributeFilterPolicy id="ldapAttributes">

  <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
Единый URL-адрес выхода из системы https://<your_domain>/idp/shibboleth
Сертификат Х.509 Сертификат открытого ключа вашего сервера Shibboleth
  • Вы успешно настроили Shibboleth в качестве поставщика идентификации SAML (IdP) для обеспечения единого входа Shibboleth в ваше ASP.NET-приложение.
A] Использование URL-адреса метаданных SAML или файла метаданных
  • В Меню настроек плагина, искать Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
  • Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Core Enterprise - Метаданные поставщика услуг

B] Загрузка метаданных вручную
  • Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например: Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода.и поделитесь им со своим поставщиком идентификации для настройки.
  • Вы также можете скачать сертификат SP, нажав на кнопку. Скачать сертификат SP и предоставьте его своему поставщику идентификационных данных, если это потребуется.
  • Под Сертификат шифрования В этом разделе выберите соответствующий тип сертификата в соответствии с вашими потребностями.
  • После выполнения вышеуказанных шагов нажмите на Сохранено применить конфигурацию.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Core Enterprise - Загрузка данных хранимых процедур вручную.

  • В файле conf/idp.properties раскомментируйте строку и установите значение 'idp.encryption.optional' в true.
    например, idp.encryption.optional = true
  • In conf/metadata-providers.xml, настройте поставщика услуг следующим образом

  <MetadataProvider xmlns:samlmd="urn:oasis:names:tc:SAML:2.0:metadata"

  id="miniOrangeInLineEntity" xsi:type="InlineMetadataProvider" sortKey="1">

  <samlmd:EntityDescriptor ID="entity" entityID="<SP-EntityID / Issuer from Service Provider Info   tab in plugin.>"

  validUntil="2020-09-06T04:13:32Z">

  <samlmd:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true"

  protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

  <samlmd:NameIDFormat>

  urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

  </samlmd:NameIDFormat>

  <samlmd:AssertionConsumerServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"

  Location="<ACS (AssertionConsumerService) URL from Step1 of the plugin under Identity Provider   Tab.>"

  index="1" />

  </samlmd:SPSSODescriptor>

  </samlmd:EntityDescriptor>

  </MetadataProvider>

  • In conf/saml-nameid.properties, раскомментируйте и установите значение по умолчанию ИмяID as Ваш e-mail как это.
  idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • In conf/saml-nameid-xmlНайдите shibboleth.SAML2NameIDGenerators. Раскомментируйте bean-компонент shibboleth.SAML2AttributeSourcedGenerator и закомментируйте все остальные bean-компоненты.

  <!-- SAML 2 NameID Generation -->

  <util:list id="shibboleth.SAML2NameIDGenerators">

  <!--<ref bean="shibboleth.SAML2TransientGenerator" /> -->

  <!--<ref bean="shibboleth.SAML2PersistentGenerator" /> -->

  <bean parent="shibboleth.SAML2AttributeSourcedGenerator"

  p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"

  p:attributeSourceIds="#{ {'email'} }" />

  </util:list>

  • Убедитесь, что вы определили AttributeDefinition в conf/attribute-resolver.xml.

  <!-- Note: AttributeDefinitionid must be same as what you provided in attributeSourceIds in   conf/saml-nameid.xml -->

  <resolver:AttributeDefinitionxsi:type="ad:Simple" id="email" sourceAttributeID="mail">

  <resolver:Dependency ref="ldapConnector" />

  <resolver:AttributeEncoderxsi:type="enc:SAML2String" name="email" friendlyName="email" />

  </resolver:AttributeDefinition>

  <resolver:DataConnector id="ldapConnector"
  xsi:type="dc:LDAPDirectory"
  ldapURL="%{idp.authn.LDAP.ldapURL}"
  baseDN="%{idp.authn.LDAP.baseDN}"
  principal="%{idp.authn.LDAP.bindDN}"
  principalCredential="%{idp.authn.LDAP.bindDNCredential}">

  <dc:FilterTemplate>

  <!-- Define you User Search Filter here -->

  <![CDATA[(&(objectclass=*) (cn=$requestContext.principalName)) ]]>

  </dc:FilterTemplate>

  <dc:ReturnAttributes>*</dc:ReturnAttributes>

  </resolver:DataConnector>

  • Убедитесь, что параметр AttributeFilterPolicy определен в conf/attribute-filter.xml.

  <afp:AttributeFilterPolicy id="ldapAttributes">

  <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
Единый URL-адрес выхода из системы https://<your_domain>/idp/shibboleth
Сертификат Х.509 Сертификат открытого ключа вашего сервера Shibboleth
  • Вы успешно настроили Shibboleth в качестве поставщика идентификации SAML (IdP) для обеспечения единого входа Shibboleth в ваше ASP.NET-приложение.
  • Нажмите на Добавить нового IDP кнопка для настройки нового поставщика идентификации.
ASP.NET Core SAML SSO с использованием Shibboleth в качестве поставщика идентификации — добавление нового поставщика идентификации.

  • Под Плагин Настройки вкладка, выберите шибболет в качестве поставщика идентификационных данных из представленного списка.
ASP.NET Core SAML SSO с использованием Shibboleth в качестве поставщика идентификации — добавление нового поставщика идентификации.

Ниже описаны два способа настройки метаданных поставщика идентификации SAML в промежуточном программном обеспечении.

A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
  • Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в промежуточном ПО, используя следующий код: Загрузка метаданных IDP опцию.
  • Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Core - Загрузка метаданных IDP

  • Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
B] Настройте метаданные поставщика идентификации вручную:
  • После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и Сертификат SAML X509 поля соответственно.
  • Нажмите Сохранено чтобы сохранить данные вашего IDP.
ASP.NET Core — настройка IDP вручную
  • Нажмите на Добавить нового IDP кнопка для настройки нового поставщика идентификации.
ASP.NET Core SAML SSO с использованием Shibboleth в качестве поставщика идентификации — добавление нового поставщика идентификации.

  • Под Плагин Настройки вкладка, выберите шибболет в качестве поставщика идентификационных данных из представленного списка.
Список поставщиков удостоверений

Ниже описаны два способа настройки метаданных поставщика идентификации SAML в промежуточном программном обеспечении.

A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
  • Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в промежуточном ПО, используя следующий код: Загрузка метаданных IDP опцию.
  • Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
  • Вы можете ознакомиться с приведенным ниже скриншотом:
ASP.NET Corel Enterprise — Загрузка метаданных IDP

  • Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
B] Настройте метаданные поставщика идентификации вручную:
  • После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и Сертификат SAML X509 поля соответственно.
  • Нажмите Сохранено чтобы сохранить данные вашего IDP.
ASP.NET Core Enterprise — настройка IDP вручную
  • После загрузки метаданных перейдите по ссылке. Настройки поставщика идентификации раздел. Наведите курсор на Выберите действия раскрывающийся список и нажмите на Тестовая конфигурация.
ASP.NET Core — конфигурация тестирования

  • На скриншоте ниже показан успешный результат. Нажмите на SSO интеграция для дальнейшего продолжения интеграции SSO.
ASP.NET Core — конфигурация тестирования

  • Если на стороне промежуточного программного обеспечения возникнет ошибка, вы увидите окно, похожее на приведенное ниже.
Ошибка конфигурации теста ASP.NET Core

  • Для устранения ошибки выполните следующие действия:
  • Под Устранение неполадок Вкладка, включите переключатель, чтобы получать журналы плагина.
ASP.NET Core - Устранение неполадок

  • После включения вы сможете получать журналы плагина, перейдя по адресу... Плагин Настройки вкладку и нажав на Тестовая конфигурация.
  • Скачать журнальный файл из Устранение неполадок Нажмите вкладку, чтобы посмотреть, что пошло не так.
  • Вы можете поделиться журнальный файл с нами в aspnetsupport@xecurify.com Наша команда свяжется с вами, чтобы решить вашу проблему.
  • После загрузки метаданных перейдите по ссылке. Настройки поставщика идентификации раздел. Наведите курсор на Выберите действия раскрывающийся список и нажмите на Тестовая конфигурация.
ASP.NET Core Enterprise — конфигурация тестирования

  • На скриншоте ниже показан успешный результат теста. Пожалуйста, нажмите на нажмите здесь. для завершения оставшихся шагов интеграции SSO.
ASP.NET Core Enterprise — Настройка тестирования

  • Если на стороне промежуточного программного обеспечения возникают ошибки, нажмите на кнопку. УСТРАНЕНИЕ НЕПОЛАДОК .
ASP.NET Core Enterprise — устранение неполадок

  • Для устранения ошибки выполните следующие действия:
  • На вкладке «Устранение неполадок» включите переключатель для получения журналов плагина и воспроизведите проблему.
  • Загрузите файл журнала, нажав на кнопку. Загрузить файл журнала Нажмите кнопку, чтобы узнать, что пошло не так.
ASP.NET Core Enterprise - файл журнала

  • Вы можете поделиться журнальный файл с нами в aspnetsupport@xecurify.com Наша команда свяжется с вами, чтобы решить вашу проблему.
  • После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
  • В меню слева в miniOrange ASP.NET SAML SSO Middleware нажмите на Сопоставление атрибутов/ролей вкладка, как показано на изображении.
ASP.NET Core - Сопоставление атрибутов

  • Если вы хотите передать дополнительные атрибуты из вашего поставщика идентификации (IdP), введите имя атрибута и соответствующее значение атрибута в соответствующем поле. Пользовательское сопоставление атрибутов.
  • Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
  • После сопоставления атрибутов нажмите Сохранить сопоставление атрибутов для внесения изменений.
ASP.NET Core - Сопоставление атрибутов
  • После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
  • В меню слева в miniOrange ASP.NET SAML SSO Middleware нажмите на Сопоставление атрибутов/ролей вкладка, как показано на изображении.
  • Составьте необходимую карту. атрибуты IdP (например, имя пользователя, адрес электронной почты, имя и фамилия), полученные в SAML-ответе, отображаются в соответствующих полях.
ASP.NET Core Enterprise — сопоставление атрибутов

  • ВниманиеВсе сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
  • После сопоставления атрибутов нажмите Сохранить сопоставление атрибутов для внесения изменений.
Пользовательское сопоставление атрибутов
  • Если вы хотите передать дополнительные атрибуты из вашего поставщика идентификации (IdP), введите имя атрибута и соответствующее значение атрибута в соответствующем поле. Пользовательское сопоставление атрибутов.
  • Из издания Значение атрибута (заявление) В выпадающем списке выберите одно из утверждений, полученных в результатах проверки конфигурации. Например: NameID.
  • Эти утверждения соответствуют атрибутам, отправленным вашим поставщиком идентификационных данных (IdP).
ASP.NET Core Enterprise — Пользовательское сопоставление атрибутов

  • Эти утверждения соответствуют атрибутам, отправленным вашим поставщиком идентификационных данных (IdP).
ASP.NET Core Enterprise — Пользовательское сопоставление атрибутов

  • В имя атрибута В поле введите имя атрибута так, как вы хотите, чтобы он отображался или использовался в вашем .NET-приложении.
  • Если вашему приложению требуется несколько атрибутов, вы можете добавить несколько сопоставлений, нажав на соответствующую кнопку. + .
  • После определения всех необходимых сопоставлений нажмите на Сохранить сопоставление атрибутов для хранения конфигурации.
ASP.NET Core Enterprise — Множественное сопоставление пользовательских атрибутов

  • Теперь плагин будет преобразовывать входящие данные SSO от вашего поставщика идентификации (IdP) в пользовательские имена атрибутов, определенные здесь.
Сопоставление ролей
  • В Сопоставление ролей раздел, введите Название атрибута группы В точности так, как настроено в вашем поставщике идентификации для получения информации о группах пользователей.
  • Введите Имя роли полученную от поставщика идентификационных данных информацию сопоставить с соответствующей информацией. Роль Ценность В поле «Значение роли» введите роли, определенные в вашем .NET-приложении.
  • Например: сопоставьте группу IdP Group1 или Group10, полученную в атрибуте UserGroups, с соответствующей ролью, настроенной в вашем .NET-приложении.
  • После добавления необходимых сопоставлений нажмите на Сохранить сопоставление ролей Для успешного сохранения конфигурации.
ASP.NET Core Enterprise — сопоставление ролей

Ограничение домена
  • Эта функция позволяет ограничить доступ пользователей к сайту на основе домена, указанного в атрибуте «Электронная почта».
  • В Атрибут электронной почты В это поле введите имя атрибута, содержащего адрес электронной почты пользователя, полученный от вашего поставщика идентификационных данных (IdP).
ASP.NET Core Enterprise — Ограничение домена

  • В Имя домена В поле введите домены, которые вы хотите разрешить или ограничить, разделяя их запятыми, если добавляете несколько доменов.
  • Включите Ограничить переключатель В зависимости от ваших требований к настройке доступа по черному или белому списку.
  • После завершения настройки нажмите на Сохранить домены Чтобы успешно сохранить настройки.
ASP.NET Core Enterprise - Ограничение доменов. Сохранение доменов.

  • Эти шаги позволяют получить информацию о пользователях SSO в вашем приложении в виде пользовательских утверждений.
  • Вы также можете посмотреть установка тура чтобы понять, как будет работать интеграция SSO в вашем приложении ASP.NET Middleware.
  • Просто скопируйте и вставьте этот фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
Код интеграции ASP.NET Core

  • Примечание: В пробной версии промежуточного ПО данные аутентифицированного пользователя хранятся в пользовательских утверждениях с использованием аутентификации по умолчанию на основе файлов cookie .NET. Поддержка установки пользовательских утверждений с использованием аутентификации на основе заголовков, сессий и JWT доступна в нашем премиум-плагине.
  • Вы также можете скопировать код интеграции, приведенный ниже:

  string name="";
  string claimtype="";
  string claimvalue="";
  if(User.Identity.IsAuthenticated)
  {
    foreach(var claim in User.claims)
    {
      claimtype = claim.Type;
      claimvalue = claim.Value;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Эти шаги позволяют получить информацию о пользователях SSO в вашем приложении в виде пользовательских утверждений.
  • Просто скопируйте и вставьте фрагмент кода в то место, где вам нужно получить доступ к атрибутам пользователя.
ASP.NET Core Enterprise - Код интеграции

  • Вы также можете скопировать код интеграции, приведенный ниже:

  string name="";
  string claimtype="";
  string claimvalue="";
  if(User.Identity.IsAuthenticated)
  {
    foreach(var claim in User.claims)
    {
      claimtype = claim.Type;
      claimvalue = claim.Value;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Наведите указатель мыши на Выберите действия и нажмите на Скопировать ссылку SSO.
ASP.NET Core Копия SSO Link

  • Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • Например, вы можете использовать его следующим образом:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • Наведите указатель мыши на Выберите действия и нажмите на Скопировать ссылку SSO.
ASP.NET Core Enterprise Copy SSO Link

  • Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • Например, вы можете использовать его следующим образом:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO:
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • Например, вы можете использовать его следующим образом:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>
  • Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO:
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • Например, вы можете использовать его следующим образом:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>

Дополнительные настройки

Чтобы применить расширенные настройки, перейдите в раздел Дополнительные настройки меню.

Автоматическое перенаправление на IdP
  • Включите Автоматическое перенаправление на IdP Кнопка-переключатель для автоматического перенаправления пользователей на настроенный поставщик идентификации во время входа в систему.
  • Выберите поставщика идентификации (IDP), с которого вы хотите перенаправлять пользователей по указанному URL-адресу. IDP по умолчанию падать.
  • Выберите Тип перенаправления as ограниченный or Общая в зависимости от вашего требования.
  • При необходимости введите URL-адреса, которые следует исключить из перенаправления, в поле «Исключить URL-адреса», разделяя их запятыми.
  • Нажмите на Сохранено для успешного сохранения конфигурации.
ASP.NET Core Enterprise — автоматическое перенаправление на IDP

Отключить панель администратора
  • Включите Отключить панель администратора Переключите ползунок, чтобы скрыть панель администратора miniOrange, и нажмите «Сохранить», чтобы применить изменения.
ASP.NET Core Enterprise — Отключение панели администратора

Справочная информация
  • Перейдите в раздел «Информация о сертификате» и выберите необходимый тип сертификата (Сертификат подписи или сертификат шифрования).
  • Нажмите на Восстановить сертификат если вы хотите сгенерировать новый сертификат.
ASP.NET Core Enterprise — информация о сертификате

  • Затем нажмите Применить новый сертификат для применения обновленного сертификата.
ASP.NET Core Enterprise — информация о сертификате

Загрузить пользовательский сертификат
  • Перейдите в Загрузить пользовательский сертификат в соответствующем разделе выберите необходимый тип сертификата (Сертификат подписи или сертификат шифрования).
  • Нажмите на Выберите Файл загрузить Открытый ключ (.crt) и Закрытый ключ (.pfx) файлы и введите Пароль закрытого ключа в предоставленном поле.
  • После ввода необходимых данных нажмите на Сохранено для успешной загрузки и применения пользовательского сертификата.
ASP.NET Core Enterprise — Загрузка пользовательского сертификата

 Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.

Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

Мы свяжемся с вами в ближайшее время!


ADFS_sso ×
Привет!

Нужна помощь? Мы здесь!

поддержка