검색 결과 :

×

Shibboleth를 IDP로 사용하여 ASP.NET Core SAML SSO를 구성하는 방법 안내

ASP.NET Core SAML Single Sign-On(SSO) 미들웨어 활성화하는 기능을 제공합니다. SAML 싱글 사인온 ASP.NET 코어 애플리케이션의 경우 Single Sign-On을 사용하면 하나의 비밀번호만 사용하여 액세스할 수 있습니다. ASP.NET 코어 애플리케이션 및 서비스. 당사의 미들웨어는 모든 것과 호환됩니다. SAML 호환 ID 공급자. 여기서는 SSO(Single Sign-On)를 구성하는 단계별 가이드를 살펴보겠습니다. ASP.NET 코어 표어 치고는 표어 IdP로서.

플랫폼 지원 : ASP.NET Core SAML 미들웨어는 ASP.NET Core 2.0 이상을 지원하며, Windows, Linux, macOS를 포함한 모든 ASP.NET Core 플랫폼을 지원합니다.


NuGet 패키지
.NET CLI

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 CLI

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/ 그리고 다운로드 탭에서 구매하신 플러그인을 찾아 클릭하세요. 플러그인 다운로드 플러그인 압축 파일을 다운로드하려면.
ASP.NET SSO 미들웨어 엔터프라이즈 플러그인 다운로드

  • 다운로드한 zip 파일을 컴퓨터에 압축 해제하고 NuGet 패키지 파일(.nupkg 파일)을 "C:\miniOrangePackages"와 같은 폴더에 넣으세요.
  • VS 터미널에서 다음 명령을 실행하여 패키지 소스로 추가하세요.
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를 사용하여 설치할 수도 있습니다.
  • Visual Studio에서 .NET 애플리케이션을 열고 클릭하세요. 도구 상단 탐색 모음에서 해당 위치로 이동하세요. NuGet 패키지 관리자 → 솔루션용 NuGet 패키지 관리.
NuGet 패키지 관리자

  • 새 창이 열립니다. 클릭하세요. 톱니 바퀴 아이콘 패키지 소스 드롭다운 메뉴 옆에 있습니다.
톱니 바퀴 아이콘

  • 팝업 창이 열립니다. 선택하세요. 패키지 소스 왼쪽 탐색 패널에서 더하기(+)를 클릭하세요. (+) 아이콘을 입력하고 입력하세요. name 패키지 소스의 경우, NuGet 패키지를 배치한 폴더의 경로를 제공하십시오. 출처 필드를 클릭한 다음 업데이트 마지막으로 OK 이미지에 표시된 대로 변경 사항을 저장하세요.
패키지 소스 창

  • 팝업 창을 닫은 후, 새로 추가된 패키지 소스를 선택하세요. 패키지 소스 쓰러지 다.
패키지 소스 드롭다운

  • 이제 검색 탭, 검색 미니오렌지.SAML.SSO검색 결과에서 패키지를 선택하고 설치를 클릭하세요.
미니오렌지.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/ 그리고 다운로드 탭에서 구매하신 플러그인을 찾아 클릭하세요. 플러그인 다운로드 플러그인 압축 파일을 다운로드하려면.
ASP.NET SSO 미들웨어 엔터프라이즈 플러그인 다운로드

  • 다운로드한 zip 파일을 컴퓨터에 압축 해제하고 NuGet 패키지 파일(.nupkg 파일)을 "C:\miniOrangePackages"와 같은 폴더에 넣으세요.
  • VS 터미널에서 다음 명령을 실행하여 패키지 소스로 추가하세요.
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를 사용하여 설치할 수도 있습니다.
  • Visual Studio에서 .NET 애플리케이션을 열고 클릭하세요. 도구 상단 탐색 모음에서 해당 위치로 이동하세요. NuGet 패키지 관리자 → 솔루션용 NuGet 패키지 관리.
NuGet 패키지 관리자

  • 새 창이 열립니다. 클릭하세요. 톱니 바퀴 아이콘 패키지 소스 드롭다운 메뉴 옆에 있습니다.
톱니 바퀴 아이콘

  • 팝업 창이 열립니다. 선택하세요. 패키지 소스 왼쪽 탐색 패널에서 더하기(+)를 클릭하세요. (+) 아이콘을 입력하고 입력하세요. name 패키지 소스의 경우, NuGet 패키지를 배치한 폴더의 경로를 제공하십시오. 출처 필드를 클릭한 다음 업데이트 마지막으로 OK 이미지에 표시된 대로 변경 사항을 저장하세요.
패키지 소스 창

  • 팝업 창을 닫은 후, 새로 추가된 패키지 소스를 선택하세요. 패키지 소스 쓰러지 다.
패키지 소스 드롭다운

  • 이제 검색 탭, 검색 미니오렌지.SAML.SSO검색 결과에서 패키지를 선택하고 설치를 클릭하세요.
미니오렌지.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();
      });
    }
  }

Shibboleth를 ID 공급자로 사용하여 ASP.NET Core SAML SSO를 구현하는 단계별 가이드입니다.

  • 통합 후 브라우저를 열고 아래 URL을 사용하여 커넥터 대시보드를 탐색하세요.
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • 등록 페이지나 로그인 페이지가 팝업되면 애플리케이션에 miniOrange SAML SSO 미들웨어가 성공적으로 추가된 것입니다.
ASP.NET Core- 등록 페이지

  • 다음을 클릭하여 귀하의 계정으로 등록하거나 로그인하십시오. 회원가입 미들웨어를 구성하는 버튼입니다.
  • 등록이 성공적으로 완료되면 등록된 이메일 주소로 평가판 라이선스 키가 전송됩니다.
  • 미들웨어를 활성화하려면 다음 중 하나를 수행하세요.
    • 입력 라이센스 키 제공된 입력 필드에 이메일을 통해 수신되었습니다.

    OR

    • 다운로드한 라이센스 파일을 클릭하여 업로드하세요. Click Here 버튼을 클릭합니다.
ASP.NET 미들웨어 평가판 라이선스 확인

  • 그런 다음 "위의 조건을 읽었으며 미들웨어를 활성화하고 싶습니다" 상자를 체크하고 클릭하십시오. 라이센스 활성화 버튼을 클릭합니다.
ASP.NET 미들웨어 라이선스 활성화
  • 통합 후 브라우저를 열고 아래 URL을 사용하여 커넥터 대시보드를 탐색하세요.
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • 로그인 페이지가 나타나면 miniOrange SAML SSO 미들웨어를 애플리케이션에 성공적으로 추가한 것입니다.
ASP.NET Core 로그인 페이지

  • 라이선스가 있는 miniOrange 계정으로 로그인하여 미들웨어를 구성하십시오.
  • 로그인 후에는 계정 설정 대시보드가 ​​열립니다. 로그인 후 받게 될 라이선스 키를 입력하여 플러그인을 활성화하세요. 포털.미니오렌지.com 및 탐색 라이선스 관리 → 라이선스 키.
라이선스 활성화

  • 그런 다음 확인란을 선택하세요. "위의 두 가지 조건을 읽었으며 플러그인을 활성화하고 싶습니다."를 클릭하고 라이센스 활성화 버튼을 클릭합니다.
라이선스 활성화 확인란

아래에 자세히 설명된 두 가지 방법을 사용하면 SAML SP 메타데이터를 가져와 ID 공급자 측에서 구성할 수 있습니다.

A] SAML 메타데이터 URL 또는 메타데이터 파일 사용
  • . 플러그인 설정 메뉴, 찾다 서비스 제공업체 설정. 그 아래에는 메타데이터 URL과 SAML 메타데이터를 다운로드하는 옵션이 있습니다.
  • 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Core- 서비스 공급자 메타데이터

B] 메타데이터 수동 업로드
  • 에서 서비스 제공업체 설정 섹션에서는 서비스 제공자 메타데이터를 수동으로 복사할 수 있습니다. SP 엔티티 ID, ACS URL, 싱글 로그아웃 URL 구성을 위해 ID 공급자와 공유하세요.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Core- sp 데이터를 수동으로 입력

  • conf/idp.properties에서 주석 처리를 제거하고 'idp.encryption.ional'을 true로 설정합니다.
    예. idp.encryption.선택 사항 = 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 이메일 주소 이 같은.
  idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • In conf/saml-nameid-xml, shibboleth.SAML2NameIDGenerators를 검색합니다. shibboleth.SAML2AttributeSourcedGenerator 빈의 주석 처리를 제거하고 다른 모든 참조 빈에 주석을 추가합니다.

  <!-- 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/속성-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/속성-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 엔터티 ID https://<your_domain>/idp/shibboleth
단일 로그인 URL https://<your_domain>/idp/profile/SAML2/Redirect/SSO
단일 로그아웃 URL https://<your_domain>/idp/shibboleth
X.509 인증서 Shibboleth 서버의 공개 키 인증서
  • ASP.NET 애플리케이션에 Shibboleth SSO 로그인을 구현하기 위해 Shibboleth를 SAML IdP(ID 공급자)로 성공적으로 구성했습니다.
A] SAML 메타데이터 URL 또는 메타데이터 파일 사용
  • . 플러그인 설정 메뉴, 찾다 서비스 제공업체 설정. 그 아래에는 메타데이터 URL과 SAML 메타데이터를 다운로드하는 옵션이 있습니다.
  • 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Core 엔터프라이즈 - 서비스 공급자 메타데이터

B] 메타데이터 수동 업로드
  • 에서 서비스 제공업체 설정 해당 섹션에서 서비스 제공업체 메타데이터를 수동으로 복사할 수 있습니다. SP 엔티티 ID, ACS URL, 싱글 로그아웃 URL그리고 설정을 위해 ID 공급자와 공유하십시오.
  • SP 인증서를 다운로드하려면 다음을 클릭하세요. SP 인증서 다운로드 필요한 경우 해당 정보를 신원 확인 기관에 제공하십시오.
  • 아래의 암호화 인증서 해당 섹션에서 필요에 따라 적절한 인증서 유형을 선택하십시오.
  • 위 단계를 모두 완료한 후, 클릭하세요. 찜하기 구성을 적용합니다.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Core Enterprise - 저장 프로시저 데이터를 수동으로 업로드

  • conf/idp.properties에서 주석 처리를 제거하고 'idp.encryption.ional'을 true로 설정합니다.
    예. idp.encryption.선택 사항 = 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 이메일 주소 이 같은.
  idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • In conf/saml-nameid-xml, shibboleth.SAML2NameIDGenerators를 검색합니다. shibboleth.SAML2AttributeSourcedGenerator 빈의 주석 처리를 제거하고 다른 모든 참조 빈에 주석을 추가합니다.

  <!-- 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/속성-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/속성-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 엔터티 ID https://<your_domain>/idp/shibboleth
단일 로그인 URL https://<your_domain>/idp/profile/SAML2/Redirect/SSO
단일 로그아웃 URL https://<your_domain>/idp/shibboleth
X.509 인증서 Shibboleth 서버의 공개 키 인증서
  • ASP.NET 애플리케이션에 Shibboleth SSO 로그인을 구현하기 위해 Shibboleth를 SAML IdP(ID 공급자)로 성공적으로 구성했습니다.
  • 온 클릭 새로운 IDP 추가 새 ID 공급자를 구성하려면 버튼을 클릭하세요.
Shibboleth를 IDP로 사용하는 ASP.NET Core SAML SSO - 새 IDP 추가

  • 아래의 플러그인 설정 탭에서 표어 표시된 목록에서 ID 공급자를 선택하세요.
Shibboleth를 IDP로 사용하는 ASP.NET Core SAML SSO - 새 IDP 추가

아래에는 미들웨어에서 SAML ID 공급자 메타데이터를 구성하는 두 가지 방법이 자세히 나와 있습니다.

A] IDP 메타데이터 업로드 버튼을 사용하여 메타데이터를 업로드합니다.
  • ID 공급자가 메타데이터 URL 또는 메타데이터 파일(.xml 형식만 해당)을 제공한 경우 다음을 사용하여 미들웨어에서 ID 공급자 메타데이터를 간단히 구성할 수 있습니다. IDP 메타데이터 업로드 옵션을 선택합니다.
  • 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Core- IDP 메타데이터 업로드

  • 사용 가능한 메타데이터 형식에 따라 옵션 중 하나를 선택할 수 있습니다.
B] ID 공급자 메타데이터를 수동으로 구성합니다.
  • 구성한 후 아이덴티티 공급자, 그것은 당신에게 다음을 제공할 것입니다 IDP 엔터티 ID, IDP 싱글 사인온 URL SAML X509 인증서 각각 필드.
  • 찜하기 IDP 세부 정보를 저장합니다.
ASP.NET Core - IDP 수동 구성
  • 온 클릭 새로운 IDP 추가 새 ID 공급자를 구성하려면 버튼을 클릭하세요.
Shibboleth를 IDP로 사용하는 ASP.NET Core SAML SSO - 새 IDP 추가

  • 아래의 플러그인 설정 탭에서 표어 표시된 목록에서 ID 공급자를 선택하십시오.
ID 공급자 목록

아래에는 미들웨어에서 SAML ID 공급자 메타데이터를 구성하는 두 가지 방법이 자세히 나와 있습니다.

A] IDP 메타데이터 업로드 버튼을 사용하여 메타데이터를 업로드합니다.
  • ID 공급자가 메타데이터 URL 또는 메타데이터 파일(.xml 형식만 해당)을 제공한 경우 다음을 사용하여 미들웨어에서 ID 공급자 메타데이터를 간단히 구성할 수 있습니다. IDP 메타데이터 업로드 옵션을 선택합니다.
  • 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
  • 아래 스크린샷을 참고하시면 됩니다.
ASP.NET Coren Enterprise - IDP 메타데이터 업로드

  • 사용 가능한 메타데이터 형식에 따라 옵션 중 하나를 선택할 수 있습니다.
B] ID 공급자 메타데이터를 수동으로 구성합니다.
  • 구성한 후 아이덴티티 공급자, 그것은 당신에게 다음을 제공할 것입니다 IDP 엔터티 ID, IDP 싱글 사인온 URL SAML X509 인증서 각각 필드.
  • 찜하기 IDP 세부 정보를 저장합니다.
ASP.NET Core Enterprise - IDP 수동 구성
  • 메타데이터 세부 정보를 업로드한 후 다음으로 이동합니다. ID 공급자 설정 섹션. 마우스를 올려 놓으세요 작업 선택 드롭다운을 클릭하고 테스트 구성.
ASP.NET Core- 테스트 구성

  • 아래 스크린샷은 성공적인 결과를 보여줍니다. 클릭 SSO 통합 SSO 통합을 계속 진행합니다.
ASP.NET Core- 테스트 구성

  • 미들웨어 측에서 오류가 발생하는 경우 아래와 유사한 창이 표시됩니다.
ASP.NET Core- 테스트 구성 오류

  • 오류를 해결하려면 다음 단계를 따르세요.
  • $XNUMX Million 미만 문제 해결 탭에서 토글을 활성화하여 플러그인 로그를 수신하세요.
ASP.NET Core- 문제 해결

  • 활성화되면 다음으로 이동하여 플러그인 로그를 검색할 수 있습니다. 플러그인 설정 탭을 클릭하고 테스트 구성.
  • 를 다운로드 로그 파일 인사말 문제 해결 탭을 클릭하여 무엇이 잘못되었는지 확인하세요.
  • 당신은 공유할 수 있습니다 로그 파일 우리와 함께 aspnetsupport@xecurify.com 문제를 해결하기 위해 저희 팀에서 연락을 드릴 것입니다.
  • 메타데이터 세부 정보를 업로드한 후 다음으로 이동합니다. ID 공급자 설정 섹션. 마우스를 올려 놓으세요 작업 선택 드롭다운을 클릭하고 테스트 구성.
ASP.NET Core Enterprise - 테스트 구성

  • 아래 스크린샷은 테스트가 성공적으로 완료된 결과를 보여줍니다. 클릭해 주세요. 여기를 클릭하세요. 나머지 SSO 통합 단계를 완료합니다.
ASP.NET Core Enterprise - 테스트 구성

  • 미들웨어 쪽에서 오류가 발생하는 경우, 다음을 클릭하십시오. 문제해결 버튼을 클릭합니다.
ASP.NET Core Enterprise - 문제 해결

  • 이 오류를 해결하려면 다음 단계를 따르세요.
  • 문제 해결 탭에서 플러그인 로그 수신 토글을 활성화하여 문제를 재현해 보세요.
  • 로그 파일을 다운로드하려면 클릭하세요. 다운로드 로그 파일 무엇이 잘못되었는지 확인하려면 이 버튼을 클릭하세요.
ASP.NET Core Enterprise - 로그 파일

  • 당신은 공유할 수 있습니다 로그 파일 우리와 함께 aspnetsupport@xecurify.com 문제를 해결하기 위해 저희 팀에서 연락을 드릴 것입니다.
  • 구성을 테스트한 후 애플리케이션 속성을 ID 공급자(IdP) 속성과 매핑합니다.
  • miniOrange ASP.NET SAML SSO Middleware의 왼쪽 메뉴에서 다음을 클릭합니다. 속성/역할 매핑 그림에 표시된 대로 탭합니다.
ASP.NET Core- 특성 매핑

  • IdP에서 추가 속성을 전달하려면 속성 이름과 해당 속성 값을 입력하십시오. 사용자 정의 속성 매핑.
  • 참고 : 모든 매핑된 속성은 세션에 저장되므로 애플리케이션에서 액세스할 수 있습니다.
  • 속성이 매핑되면 클릭하세요. 속성 매핑 저장 변경 사항을 적용합니다.
ASP.NET Core- 특성 매핑
  • 구성 테스트를 완료한 후 애플리케이션 속성을 ID 공급자(IdP) 속성에 매핑하십시오.
  • miniOrange ASP.NET SAML SSO Middleware의 왼쪽 메뉴에서 다음을 클릭합니다. 속성/역할 매핑 그림에 표시된 대로 탭합니다.
  • 필요한 지도를 만드세요 IdP 속성 (사용자 이름, 이메일, 이름, 성 등) SAML 응답에서 수신된 해당 필드에 대한 정보입니다.
ASP.NET Core Enterprise - 속성 매핑

  • 주의 사항매핑된 모든 속성은 세션에 저장되므로 애플리케이션에서 해당 속성에 접근할 수 있습니다.
  • 속성이 매핑되면 클릭하세요. 속성 매핑 저장 변경 사항을 적용합니다.
사용자 정의 속성 매핑
  • IdP에서 추가 속성을 전달하려면 속성 이름과 해당 속성 값을 입력하십시오. 사용자 정의 속성 매핑.
  • 에서 속성 값(클레임) 드롭다운 메뉴에서 테스트 구성 결과에서 받은 클레임 중 하나를 선택하세요. 예를 들어 NameID를 선택할 수 있습니다.
  • 이러한 클레임은 ID 공급자(IdP)가 전송한 속성에 해당합니다.
ASP.NET Core Enterprise - 사용자 지정 속성 매핑

  • 이러한 클레임은 ID 공급자(IdP)가 전송한 속성에 해당합니다.
ASP.NET Core Enterprise - 사용자 지정 속성 매핑

  • . 속성 이름 필드에 .NET 애플리케이션에서 표시되거나 사용될 속성 이름을 입력하십시오.
  • 애플리케이션에 여러 속성이 필요한 경우, [매핑 추가] 버튼을 클릭하여 여러 매핑을 추가할 수 있습니다. + 버튼을 클릭합니다.
  • 필요한 모든 매핑을 정의한 후 클릭하세요. 속성 매핑 저장 설정을 저장하기 위해.
ASP.NET Core Enterprise - 사용자 지정 속성 다중 매핑

  • 이제 플러그인은 ID 공급자(IdP)로부터 들어오는 SSO 클레임을 여기에 정의된 사용자 지정 속성 이름으로 변환합니다.
역할 매핑
  • . 역할 매핑 해당 섹션에 입력하세요 그룹 속성 이름 ID 공급자에 구성된 대로 정확하게 사용자 그룹 정보를 가져오십시오.
  • 입력 역할 이름 ID 공급자로부터 수신한 정보를 적절한 항목에 매핑합니다. 역할 가치 역할 값 필드에 .NET 애플리케이션에 정의된 역할을 입력합니다.
  • 예를 들어, UserGroups 속성에서 수신한 IdP 그룹인 Group1 또는 Group10을 .NET 애플리케이션에 구성된 해당 역할에 매핑합니다.
  • 필요한 매핑을 추가한 후 클릭하세요. 역할 매핑 저장 설정을 성공적으로 저장했습니다.
ASP.NET Core Enterprise - 역할 매핑

도메인 제한
  • 이 기능은 사용자의 "이메일" 속성에 매핑된 도메인을 기준으로 사이트 접근을 제한하는 데 사용할 수 있습니다.
  • . 이메일 속성 해당 필드에 ID 공급자(IdP)로부터 받은 사용자 이메일 주소가 포함된 속성 이름을 입력하십시오.
ASP.NET Core Enterprise - 도메인 제한

  • . 도메인 이름 이 필드에 허용 또는 제한할 도메인을 입력하십시오. 여러 도메인을 추가하는 경우 쉼표로 구분하십시오.
  • 활성화 제한 토글 블랙리스트 또는 화이트리스트 액세스 구성에 대한 요구 사항에 따라 설정하세요.
  • 설정을 완료한 후 클릭하세요. 도메인 저장 설정을 성공적으로 저장하려면.
ASP.NET Core Enterprise - 도메인 제한을 통한 도메인 저장

  • 이 단계를 통해 애플리케이션에서 사용자 클레임 형식으로 SSO 사용자 정보를 검색할 수 있습니다.
  • 당신은 또한 볼 수 있습니다 설정 둘러보기 ASP.NET 미들웨어 애플리케이션에서 SSO 통합이 어떻게 작동하는지 이해합니다.
  • 사용자 속성에 액세스하려는 곳 어디에나 해당 코드 조각을 복사하여 붙여넣기만 하면 됩니다.
ASP.NET Core- 통합 코드

  • 참고 : 평가판 미들웨어를 사용하면 인증된 사용자 정보가 기본 .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 엔터프라이즈 통합 코드

  • 아래에서 통합 코드를 복사할 수도 있습니다.

  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 링크 복사

  • SSO를 수행하려는 애플리케이션에서 다음 URL을 링크로 사용하세요.
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • 예를 들어 다음과 같이 사용할 수 있습니다.
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • 마우스를 올리면 작업 선택 그리고 클릭 SSO 링크를 복사합니다.
ASP.NET 코어 엔터프라이즈 복사 SSO 링크

  • SSO를 수행하려는 애플리케이션에서 다음 URL을 링크로 사용하세요.
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • 예를 들어 다음과 같이 사용할 수 있습니다.
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • SLO를 수행하려는 애플리케이션에 대한 링크로 다음 URL을 사용하세요.
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • 예를 들어 다음과 같이 사용할 수 있습니다.
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>
  • SLO를 수행하려는 애플리케이션에 대한 링크로 다음 URL을 사용하세요.
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • 예를 들어 다음과 같이 사용할 수 있습니다.
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>

고급 설정

고급 설정을 적용하려면 다음 경로로 이동하세요. 고급 설정 탭.

IdP로 자동 리디렉션
  • 활성화 IdP로 자동 리디렉션 로그인 시 사용자를 구성된 ID 공급자로 자동으로 리디렉션하는 토글 버튼입니다.
  • 특정 URL에서 사용자를 리디렉션할 IDP를 선택하십시오. 기본 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 ×
안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT