如果您计划将 LDAP 注册表与 Jazz™ Team Server 一起使用,那么必须配置 Apache Tomcat 或 WebSphere® Application Server 使用 LDAP 注册表来认证用户。
参数 | 值描述 |
---|---|
LDAP 注册表位置 | 引用 LDAP 服务器的 URL。ldap://ldap.example.com:389 |
用户名 | 登录到此 LDAP 服务器所用的用户名。一些 LDAP 服务器允许匿名登录和密码。这种情况下,此参数为空白。 |
密码 | 与用户名相关联的密码。 |
基本用户 DN | 搜索条件指示从层次结构的何处开始搜索用户。 例如,“o=company,l=your city,c=your country” |
用户属性名映射 | Jazz 用户属性名到 LDAP 注册表条目属性名的映射。
必须定义以下映射:
当用户登录到系统时,userid 属性识别使用的用户标识。name 属性用于在用户界面中显示名称。 例如,userId=mail,name=cn,emailAddress=mail |
基本组 DN | 搜索条件指示从层次结构的何处开始搜索组名,例如,ou=memberlist,ou=yourgroups,o=example.com |
Jazz 到 LDAP 组映射 | Jazz 组和 LDAP 组之间的映射。一个 Jazz 组可映射到多个 LDAP 组。
LDAP 组必须由分号分隔。例如,JazzAdmins=LDAPAdmins1;LDAPAdmins2 表示将 JazzAdmins 组映射到 LDAPAdmins1 和 LDAPAdmins2。Jazz Team Server 定义了要一并映射的 5 个组:
|
组名属性 | 代表 LDAP 注册表中 Jazz 组名的“LDAP 属性”。例如,cn。该属性用于在查询中检索 LDAP 组。要检索 LDAP 组,查询使用基本组 DN 和组名属性的组合。 |
组成员属性 | 代表 LDAP 注册表中组成员的“LDAP 属性”。例如,uniquemember。 |
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" digest="SHA-1" digestEncoding="UTF-8"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" digest="SHA-1" digestEncoding="UTF-8"/>
<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})"/>为 Microsoft Active Directory 添加以下标记:
<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"/>
<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 admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzGuests</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzUsers</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzProjectAdmins</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> </servlet> <!-- ... --> </web-app>使用以下标记将 LDAP 组声明为安全角色:
<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>使用以下标记更新安全性约束部分:
<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>在每个引用 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>