Adaptación del archivo de transformación LDAP

Describe cómo adaptar el archivo XSL de transformación de LDAP para que encaje en el esquema LDAP.

El archivo LDAPTransformation.xsl por omisión correlaciona los verbos de personal predefinidos con consultas LDAP, que utilizan elementos del esquema LDAP por omisión supuesto por WebSphere. Este esquema da por supuesto lo siguiente:
Si el esquema LDAP presenta distintos nombres de clase de objeto y atributo, debe cambiar estos valores en los archivos de transformación LDAP que utiliza. Para el archivo LDAPTransformation.xsl por omisión, se puede cambiar el valor en la parte de declaración de variable del archivo:
  <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>

Puede aplicar cambios en las plantillas XSL que transforman los verbos de personal individuales, como se ilustra en los ejemplos siguientes.

Ejemplo: DepartmentMembers

Cambio de la clase de objeto de entradas de persona a ePerson y del atributo de ID de inicio de sesión a 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>

Ejemplo: GroupMembers

Cambio de la clase de objetos de entradas de grupo a groupOfUniqueNames, del atributo de entrada de grupo que contiene la lista de DN de miembros a uniqueMember y del atributo de entrada de persona que contiene el inicio de sesión a 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>

Ejemplo: GroupMembersWithoutFilteredUsers

Cambio del operador de filtro LDAP a >=.
<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>

Ejemplo: GroupSearch

Cambio del atributo search a MyType, de la clase de objeto a mypersonclass y del atributo que contiene el ID de inicio de sesión a 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>

Ejemplo: Manager of Employee

Cambio del atributo que contiene el DN de gestor a managerentry y del origen del atributo de ID de inicio de sesión de gestor a 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>

Ejemplo: PersonSearch

Cambio del atributo search a MyAttribute, de la clase de objeto a mypersonclass y del origen del atributo de retorno a 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>

Ejemplo: Users

Cambio del origen del atributo de retorno a myuid y la clase de objeto a mypersonclass.
<sldap:user>
 ...
  <xsl:attribute name="attribute">myuid</xsl:attribute>
  <xsl:attribute name="objectclass">mypersonclass</xsl:attribute>
</sldap:user>

Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)