LDAP 변환 파일 적용

사용자의 LDAP 스키마에 적합하도록 LDAP 변환 XSL 파일을 적응시키는 방법을 설명합니다.

기본 LDAPTransformation.xsl 파일은 사전 정의된 스태프 verb를 WebSphere로 가정되는 기본 LDAP 스키마의 요소를 사용하는 LDAP 조회에 맵핑합니다. 이 스키마는 다음을 가정합니다.
LDAP 스키마에 다른 오브젝트 클래스 및 속성 이름이 있는 경우, 사용하는 LDAP 변환 파일에서 이러한 설정을 변경해야 합니다. 기본 LDAPTransformation.xsl 파일의 경우, 파일의 변수 선언 부분에서 설정을 변경할 수 있습니다.
  <xsl:variable name="DefaultGroupClass">groupOfNames</xsl:variable>
  <xsl:variable name="DefaultGroupClassMemberAttribute">member</xsl:variable>
  
  <xsl:variable name="DefaultPersonClass">inetOrgPerson</xsl:variable>
  <xsl:variable name="DefaultUserIDAttribute">uid</xsl:variable>
  <xsl:variable name="DefaultMailAttribute">mail</xsl:variable>  
  <xsl:variable name="DefaultManagerAttribute">manager</xsl:variable>

다음 예제에서 설명한 바와 같이 개별 스태프 verb를 변환하는 XSL 템플리트 내에서 변경사항을 적용할 수 있습니다.

예: DepartmentMembers

개인 항목의 오브젝트 클래스를 ePerson으로 로그인 ID 속성을 cn으로 변경.
<sldap:StaffQueries>
  <xsl:attribute name="threshold">
    <xsl:value-of select="$Threshold">
  </xsl:attribute>

  <sldap:search>
...
    <sldap:attribute> 
      <xsl:attribute name="name">cn</xsl:attribute>
      <xsl:attribute name="objectclass">ePerson</xsl:attribute>
      <xsl:attribute name="usage">simple</xsl:attribute>
    </sldap:attribute> 

  </sldap:search>
</sldap:StaffQueries>

예: GroupMembers

그룹 항목의 오브젝트 클래스를 groupOfUniqueNames로 구성원 DN 목록을 포함하는 그룹 항목 속성을 uniqueMember로 또한 로그인을 포함하는 개인 항목 속성을 cn으로 변경.
<sldap:usersOfGroup>
...

  <sldap:attribute> 
    <xsl:attribute name="name">uniqueMember</xsl:attribute>
    <xsl:attribute name="objectclass">groupOfUniqueNames</xsl:attribute>
    <xsl:attribute name="usage">recursive</xsl:attribute>
  </sldap:attribute> 

  ...
  <sldap:attribute> 
    <xsl:attribute name="name">cn</xsl:attribute>
    <xsl:attribute name="objectclass">inetOrgPerson</xsl:attribute>
    <xsl:attribute name="usage">simple</xsl:attribute>
  </sldap:attribute> 

</sldap:usersOfGroup>

예: GroupMembersWithoutFilteredUsers

LDAP 필터 연산자를 >=으로 변경.
<sldap:StaffQueries>
  <sldap:usersOfGroup>
    ...
  </sldap:usersOfGroup>

  <sldap:intermediateResult>
    <xsl:attribute name="name">filteredusers</xsl:attribute>
    <sldap:search>
      <xsl:attribute name="filter">
        <xsl:value-of select="staff:parameter[@id='FilterAttribute']"/>
         >=
        <xsl:value-of select="staff:parameter[@id='FilterValue']"/>
      </xsl:attribute>
     ...
    <sldap:search>
     ...
    
  </sldap:intermediateResult>
   ...
</sldap:StaffQueries>

예: GroupSearch

검색 속성을 MyType으로, 오브젝트 클래스를 mypersonclass로, 로그인 ID를 포함하는 속성을 myuid로 변경.
<sldap:StaffQueries>
 ...
  <sldap:search>
    <xsl:attribute name="filter">
      (&amp;
       ...
      <xsl:if test="staff:parameter[@id='MyType']!="">
       (<xsl:value-of select="$GS_Type"/>=
        <xsl:value-of select=staff:parameter[@id='Type']"/>)
      </xsl:if>
      )
       ...
    </xsl:attribute>

    <sldap:attribute> 
      <xsl:attribute name="name">myuid</xsl:attribute>
      <xsl:attribute name="objectclass">mypersonclass</xsl:attribute>
      <xsl:attribute name="usage">simple</xsl:attribute>
    </sldap:attribute> 
     ...
  <sldap:search>
</sldap:StaffQueries>

예: 직원 관리자

관리자 DN을 포함하는 속성을 managerentry으로 로그인 ID 속성의 소스를 name으로 변경.
<sldap:StaffQueries>
 
  <sldap:intermediateResult>
   ...
    <sldap:user>
     ...
      <xsl:attribute name="name">managerentry</xsl:attribute>
       ...
     </sldap:user>
   </sldap:intermediateResult>

  <sldap:user>
   ...
    <xsl:attribute name="name">name</xsl:attribute>
     ...
  </sldap:user>
</sldap:StaffQueries>

예: PersonSearch

검색 속성을 MyAttribute로, 오브젝트 클래스를 mypersonclass로, 리턴 속성의 소스를 myuid로 변경.
<sldap:StaffQueries>
 ...
  <sldap:search>
    <xsl:attribute name="filter">
      (&amp;
       ...
      <xsl:if test="staff:parameter[@id='MyAttribute']!="">
       (<xsl:value-of select="$PS_UserID"/>=
        <xsl:value-of select=staff:parameter[@id='UserID']"/>)
      )
      </xsl:if>
       ...
    </xsl:attribute>

    <sldap:attribute> 
      <xsl:attribute name="name">myuid</xsl:attribute>
      <xsl:attribute name="objectclass">mypersonclass</xsl:attribute>
      <xsl:attribute name="usage">simple</xsl:attribute>
    </sldap:attribute> 
     ...
  </sldap:search>
</sldap:StaffQueries>

예: Users

리턴 속성의 소스를 myuid로, 오브젝트 클래스를 mypersonclass로 변경.
<sldap:user>
 ...
  <xsl:attribute name="attribute">myuid</xsl:attribute>
  <xsl:attribute name="objectclass">mypersonclass</xsl:attribute>
</sldap:user>

ⓒ Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)