검색 결과 :

×

Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On)


DNN SAML 싱글 사인온(SSO) 모듈은 DotNetNuke 애플리케이션에 대해 SAML Single Sign-On을 활성화하는 기능을 제공합니다. Single Sign-On을 사용하면 하나의 비밀번호만 사용하여 DotNetNuke 애플리케이션 및 서비스에 액세스할 수 있습니다. 우리 모듈은 모든 SAML 규격과 호환됩니다. ID 공급자. 여기서는 Shibboleth를 IdP로 간주하여 DotNetNuke와 Shibboleth 간에 SSO(Single Sign-On)를 구성하는 단계별 가이드를 살펴보겠습니다.

전제조건: 다운로드 및 설치

  • 다운로드 DNN SAML SSO(Single Sign-On) 모듈용 패키지입니다.
  • 설치 패키지 업로드 dnn-saml-single-sign-on_xxx_설치 들어가면서 설정 > 확장 > 확장 설치.

Shibboleth를 IDP로 사용하여 DNN Single Sign-On(SSO)을 구성하는 단계

1. DNN 페이지에 모듈 추가

  • DNN 사이트의 페이지 중 하나를 열고(편집 모드) 다음을 클릭합니다. 모듈 추가.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 모듈 추가
  • 에 대한 검색 DNNSAMLSSO DNNSAMLSSO를 클릭하세요. 원하는 페이지에 모듈을 끌어서 놓습니다.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 검색 모듈
  • DNN 사이트에 모듈 설치가 완료되었습니다.

2. Shibboleth를 ID 공급자로 설정

  • ID 공급업체를 선택하세요. 표어 아래 표시된 목록에서.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 검색 모듈
  • ID 공급자 측에 구성할 SAML SP 메타데이터를 가져올 수 있는 두 가지 방법이 아래에 자세히 설명되어 있습니다.
  • A] SAML 메타데이터 URL 또는 메타데이터 파일 사용:
    • $XNUMX Million 미만 서비스 제공업체 설정, 메타데이터 URL은 물론 SAML 메타데이터를 다운로드하는 옵션도 찾을 수 있습니다.
    • 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서도 동일하게 구성하세요.
    • 아래 스크린샷을 참고하시면 됩니다.
    • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 다운로드한 메타데이터 복사
    B] 메타데이터 수동 업로드:
    • 아래의 서비스 제공업체 설정 섹션에서 다음과 같은 서비스 제공업체 메타데이터를 수동으로 복사할 수 있습니다. 기본 URL, SP 엔터티 ID, ACS URL 구성을 위해 ID 공급자와 공유하세요.
    • 아래 스크린샷을 참고하시면 됩니다.
    • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 수동 메타데이터
  • 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="InlineMetadata
    Provider" 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 AuthnRequests
    Signed="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:AssertionConsumerService Binding="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 서버를 다시 시작합니다.
  • miniOrange 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 서버의 공개 키 인증서

DotNetNuke(DNN) 사이트에 Shibboleth SSO 로그인을 달성하기 위해 Shibboleth를 SAML IdP(ID 공급자)로 성공적으로 구성했습니다.

3. DotNetNuke SAML 모듈을 서비스 공급자로 구성

모듈에서 SAML ID 공급자 메타데이터를 구성할 수 있는 두 가지 방법이 아래에 자세히 설명되어 있습니다.

A] IDP 메타데이터 업로드 버튼을 사용하여 메타데이터를 업로드합니다.
  • ID 공급자가 메타데이터 URL 또는 메타데이터 파일(.xml 형식만 해당)을 제공한 경우 다음을 사용하여 모듈에서 ID 공급자 메타데이터를 간단히 구성할 수 있습니다. IDP 메타데이터 업로드 옵션을 선택합니다.
  • 아래 스크린샷을 참고하시면 됩니다.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 수동으로 메타데이터 업로드
  • 사용 가능한 메타데이터 형식에 따라 옵션 중 하나를 선택할 수 있습니다.
B] ID 공급자 메타데이터를 수동으로 구성합니다.
  • 구성한 후 아이덴티티 공급자, 그것은 당신에게 다음을 제공할 것입니다 IDP 엔터티 ID, IDP 싱글 사인온 URLSAML X509 인증서 각각 필드.
  • 업데이트 IDP 세부 정보를 저장합니다.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 메타데이터 업로드

4. SAML SSO 테스트

  • 클릭 테스트 구성 버튼을 눌러 플러그인을 올바르게 구성했는지 확인하세요.
  • 구성이 성공하면 테스트 구성 창에 속성 이름과 속성 값이 표시됩니다.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - Shibboleth 테스트 결과

5. 속성 매핑

  • 속성은 아이덴티티 공급자에 저장되는 사용자 세부 정보입니다.
  • 속성 매핑을 사용하면 IdP에서 사용자 속성을 가져와 이름, 성 등과 같은 DotNetNuke 사용자 속성에 매핑할 수 있습니다.
  • DotNetNuke 사이트에 사용자를 자동 등록하는 동안 이러한 속성은 DotNetNuke 사용자 세부 정보에 자동으로 매핑됩니다.
  • We Buy Orders 신청서를 클릭하세요. DNNSAMLSSO 설정 >> 고급 설정 >> 속성 매핑.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 속성 매핑

6. DNN 페이지에 로그인/SSO 위젯 추가

  • 모듈 설정 옆에 있는 DNN 페이지의 버튼을 추가하려면 아이템 추가 (연필 아이콘).
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 로그인 버튼 추가
  • 버튼 이름을 추가하고 클릭하세요. 찜하기
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 로그인 저장 버튼
  • 항목을 저장한 후 페이지에서 로그인 버튼을 볼 수 있습니다. (이미 사이트에 로그인한 경우 "로그아웃" 링크가 표시됩니다.)
  • 참고 : DNN 사이트의 모든 페이지에서 이 버튼을 활성화하려면 다음 단계를 따르십시오.
  • 로 이동 설정 >> 모듈 설정 >> 고급 설정 및 활성화 옵션 모든 페이지에 모듈 표시.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 모듈 설정 Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 다중 페이지의 디스플레이 모듈
  • 경고: 이 옵션을 활성화하면 모듈에 대한 모든 구성이 손실됩니다. 모듈을 재구성할 수 있습니다. 또는 모듈을 구성하기 전에 이 옵션을 활성화하는 것이 좋습니다.

7. 역할 매핑(이 항목을 작성하는 것은 선택 사항입니다)

  • DotNetNuke는 사이트 소유자가 사이트 내에서 사용자가 할 수 있는 것과 할 수 없는 것을 제어할 수 있는 기능을 제공하도록 설계된 역할 개념을 사용합니다.
  • DotNetNuke에는 관리자, 구독자, 등록된 사용자, 번역가(en-US) 및 확인되지 않은 사용자의 다섯 가지 사전 정의된 역할이 있습니다.
  • 역할 매핑을 사용하면 IdP의 특정 그룹 사용자에게 특정 역할을 할당할 수 있습니다.
  • 자동 등록하는 동안 사용자에게는 매핑된 그룹에 따라 역할이 할당됩니다.
  • Shibboleth를 IDP로 사용하는 DNN SAML SSO(Single Sign-On) - 역할 매핑

구성할 수도 있습니다. ASP.NET SAML 싱글 사인온(SSO) 다음과 같은 ID 공급자가 있는 모듈 ADFS, Azure AD, Bitium, centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 아니면 당신 자신의 것과도 맞춤형 ID 공급자. 다른 ID 공급자를 확인하려면 여기에서 지금 확인해 보세요..

추가 자료


도움이 필요하신가요?

귀하의 ID 공급자를 찾을 수 없습니까? 우리에게 메일을 보내세요 dnnsupport@xecurify.com 귀하의 IDP로 SSO를 설정하고 귀하의 요구 사항에 대한 빠른 안내(이메일/회의를 통해)를 도와드릴 것이며, 저희 팀은 귀하의 요구 사항에 따라 가장 적합한 솔루션/계획을 선택할 수 있도록 도와드릴 것입니다.

안녕하세요!

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

SUPPORT
miniOrange 지원팀에 문의하세요
성공

문의 해 주셔서 감사합니다.

24시간 이내에 연락을 받지 못한 경우 언제든지 다음 이메일로 후속 이메일을 보내주세요. info@xecurify.com