Configurar manualmente el contenedor web Apache Tomcat para utilizar LDAP

Si ha utilizado el asistente de configuración Jazz Team Server para crear los archivos de configuración de Tomcat, este procedimiento se habrá completado automáticamente y no es necesario configurar el contenedor web.

Acerca de esta tarea

Si prefiere configurar manualmente el contenedor web para LDAP en Apache Tomcat, siga estos pasos:

Procedimiento

  1. Abra el archivo JazzInstallDir/server/tomcat/conf/server.xml para editarlo y ponga el siguiente código en un comentario:
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
  2. Dependiendo de qué directorio se utilice, añada uno de los códigos siguientes:
    Añada la etiqueta siguiente para Oracle Internet Directory (OID) y cambie la información para que coincida con la configuración:
    <Realm className="org.apache.catalina.realm.JNDIRealm" 
     debug="99"
     connectionURL="ldap://ldap.company.com:389"
     roleBase="cn=Groups,dc=company,dc=com"
     roleSearch="(uniquemember={0})" 
     roleName="cn" 
     userBase="cn=Users,dc=company,dc=com"
     userSearch="(uid={0})"/>
    Añada la etiqueta siguiente para Microsoft Active Directory y cambie la información para que coincida con la configuración:
    <Realm className="org.apache.catalina.realm.JNDIRealm" 
     debug="99"
     connectionURL="ldap://ldap.company.com:3268"
     authentication="simple"
     referrals="follow"
     connectionName="cn=LDAPUser,ou=Service Accounts,dc=company,dc=com"
     connectionPassword="VerySecretPassword" 
     userSearch="(sAMAccountName={0})"
     userBase="dc=company,dc=com" 
     userSubtree="true"
     roleSearch="(member={0})" 
     roleName="cn" 
     roleSubtree="true"
     roleBase="dc=company,dc=com"/>
    Añada el código siguiente para Tivoli Directory Server y cambie la información para que coincida con la configuración:
    <RealmclassName="org.apache.catalina.realm.JNDIRealm"
    debug="9"
    connectionURL="ldap://Machine where TDS is installed>:389"
    userBase="o=company.com"
    userSearch="(mail={0})"
    userSubtree="true"
    roleBase="o=company.com"
    roleSubtree="true"
    roleSearch="(member={0})"
    roleName="cn"/>
  3. Abra JazzInstallDir/server/tomcat/webapps/app name/WEB-INF/web.xml para editarlo, donde app name es la aplicación instalada como, por ejemplo, jts, ccm, qm o rm.
  4. En el archivo que ha abierto, enlace y correlacione las referencias de rol de seguridad con los roles de seguridad:
    <web-app id="WebApp">
    <servlet id="bridge">
    <servlet-name>equinoxbridgeservlet</servlet-name>
    <display-name>Equinox Bridge Servlet</display-name>
    <description>Equinox Bridge Servlet</description>
    <servlet-class>org.eclipse.equinox.servletbridge.BridgeServlet</servlet-class>
    <init-param><!-- ... --></init-param>
    <!-- ... -->
    <load-on-startup>1</load-on-startup>
    
    <!-- Addendum
    If the names of your LDAP Groups are the same as the default Jazz roles
    you don't need to add the following tags
    -->
    <security-role-ref>
    <role-name>JazzAdmins</role-name>
    <role-link>[LDAP Group for Jazz admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzDWAdmins</role-name>
    <role-link>[LDAP Group for Jazz data warehouse admins]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzGuests</role-name>
    <role-link>[LDAP Group for Jazz guests]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzUsers</role-name>
    <role-link>[LDAP Group for Jazz users]</role-link>
    </security-role-ref>
    
    <security-role-ref>
    <role-name>JazzProjectAdmins</role-name>
    <role-link>[LDAP Group for Jazz project admins]</role-link>
    </security-role-ref>
    
    </servlet>
    <!-- ... -->
    </web-app>
    Utilice las etiquetas siguientes para declarar los grupos de LDAP como roles de seguridad:
    <web-app id="WebApp">
    <servlet id="bridge">
    <!-- ... -->
    <security-role>
    <role-name>JazzAdmins</role-name>
    <role-name>JazzDWAdmins</role-name>
    <role-name>JazzGuests</role-name>
    <role-name>JazzUsers</role-name>
    <role-name>JazzProjectAdmins</role-name>
    
    <!-- Addendum
    If the names of your LDAP Groups are the same as the default Jazz roles
    you don't need to add the following tags
    -->
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name>
    <role-name>[LDAP Group for Jazz Guests]</role-name>
    <role-name>[LDAP Group for Jazz Users]</role-name>
    <role-name>[LDAP Group for Jazz Project Admins]</role-name>
    <!-- End Addendum -->
    </security-role>
    <!-- ... -->
    </web-app>
    Utilice las etiquetas siguientes para actualizar la sección de restricción de seguridad:
    <web-app id="WebApp">
    <!-- ... -->
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>secure</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    
    <auth-constraint>
    <role-name>JazzUsers</role-name>
    <role-name>JazzAdmins</role-name>
    <role-name>JazzGuests</role-name>
    <role-name>JazzDWAdmins</role-name>
    <role-name>JazzProjectAdmins</role-name>
    
    <!-- Addendum
    If the names of your LDAP Groups are the same as the default Jazz roles
    you don't need to add the following tags
    -->
    
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name>
    <role-name>[LDAP Group for Jazz Guests]</role-name>
    <role-name>[LDAP Group for Jazz Users]</role-name>
    <role-name>[LDAP Group for Jazz Project Admins]</role-name>
    <!-- End Addendum -->
    
    </auth-constraint>
    
    <user-data-constarint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <!-- ... -->
    </web-app>
    Repita el mismo anexo en cada restricción de seguridad que haga referencia a un grupo Jazz:
    <web-app id="WebApp">
    <!-- ... -->
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>adminsecure</web-resource-name>
    <url-pattern>/admin/cmd/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>JazzAdmins</role-name>
    <!-- Addendum -->
    <role-name>[LDAP Group for Jazz Admins]</role-name>
    <!-- End addendum -->
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <!-- ... -->
    </web-app>

Comentarios