使用“轻量级目录访问协议(LDAP)”管理用户

该信息帮助您配置 LDAP 注册表以管理用户。

如果您计划将 LDAP 注册表与 Jazz™ Team Server 一起使用,那么必须配置 Apache Tomcat 或 WebSphere® Application Server 使用 LDAP 注册表来认证用户。

要配置 LDAP 以与 Jazz Team Server 一起工作,请执行以下任务:
  1. 了解 LDAP 配置参数.
  2. LDAP 配置设置过程.
  3. 在 Apache Tomcat 中针对 LDAP 配置 Web 容器.
    注: Jazz Team Server 用户标识区分大小写。使用 LDAP 进行用户管理时,请关闭不区分大小写选项。 联系您的服务器管理员或参阅产品文档,以确保设置区分大小写。
  4. 通过 LDAP 域配置 WebSphere Application Server
  5. 创建初始用户。该用户是初始的 Jazz Team Server 管理员。
  6. Using the LDAP sync task.
  7. 使用设置向导配置 Jazz Team Server 使用 LDAP。
  8. 导入用户

了解 LDAP 配置参数

表 1. “LDAP 参数”和描述
参数 值描述
LDAP 注册表位置 引用 LDAP 服务器的 URL。ldap://ldap.example.com:389
用户名 登录到此 LDAP 服务器所用的用户名。一些 LDAP 服务器允许匿名登录和密码。这种情况下,此参数为空白。
密码 与用户名相关联的密码。
基本用户 DN 搜索条件指示从层次结构的何处开始搜索用户。 例如,“o=company,l=your city,c=your country”
用户属性名映射 Jazz 用户属性名到 LDAP 注册表条目属性名的映射。 必须定义以下映射:
  • userId = [LDAP 用户标识]
  • name = [LDAP 用户名]
  • emailAddress = [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 个组:
  • JazzAdmins = [Jazz 管理员的 LDAP 组]
  • JazzUsers = [Jazz 用户的 LDAP 组]
  • JazzDWAdmins = [Jazz 数据仓库管理员的 LDAP 组]
  • JazzGuests = [Jazz 访客的 LDAP 组]
  • JazzProjectAdmins =[Jazz 项目管理员的 LDAP 组]
例如,JazzAdmins= YourGroupA、JazzUsers= YourGroupB、JazzDWAdmins= YourGroupC、JazzGuests= YourGroupD、JazzProjectAdmins= YourGroupE。
组名属性 代表 LDAP 注册表中 Jazz 组名的“LDAP 属性”。例如,cn。该属性用于在查询中检索 LDAP 组。要检索 LDAP 组,查询使用基本组 DN 和组名属性的组合。
组成员属性 代表 LDAP 注册表中组成员的“LDAP 属性”。例如,uniquemember。

LDAP 配置设置过程

要配置 LDAP 连接并导入用户,请遵循以下步骤:
  1. 停止服务器。
  2. 如果先前已尝试安装 LDAP 服务器,请备份 JazzInstallDir/jazz/server/tomcat/conf/server.xml 文件。
  3. 打开 JazzInstallDir/jazz/server/tomcat/conf/server.xml 文件进行编辑,取消对以下域标记的注释:
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
  4. 保存文件并重新启动服务器。
  5. 打开一个 Web 浏览器窗口并转至 https://localhost:9443/jazz/setup。
  6. 以 ADMIN/ADMIN 登录(用户名和密码均区分大小写)。
  7. 单击定制设置按钮。
  8. 单击下一页直到第 5 页,设置用户注册表
  9. 类型下的“步骤 1”部分中选中 Tomcat 用户数据库单选按钮。
  10. 在步骤 3 下,选中禁用缺省 ADMIN 访问复选框。
  11. 在步骤 4 下,选中 Rational Team Concert - Developer 许可证复选框。
  12. 单击下一步可创建第一个用户。
  13. 单击上一步可退回到页面 5,设置用户注册表
  14. 在步骤 1 下,选中 LDAP 单选按钮。
  15. 填写第 2 部分中的字段。有关更多信息,请参阅了解 LDAP 配置参数
  16. 关闭服务器。
  17. 在 Apache Tomcat 中针对 LDAP 配置 Web 容器.
  18. 重新启动服务器。
  19. 打开 Web 浏览器窗口并转至 https://localhost:9443/jazz/admin。
  20. 以您创建的用户标识进行登录以测试连接。

在 Apache Tomcat 中针对 LDAP 配置 Web 容器

有关针对 LDAP 配置 Apache Tomcat 的其他信息,请参阅下面的相关链接。要在 Apache Tomcat 中针对 LDAP 配置 Web 容器,请遵循以下步骤:
  1. 打开 JazzInstallDir/jazz/server/tomcat/conf/server.xml 文件进行编辑,并注释以下标记:
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
  2. 为 Oracle Internet Directory (OID) 添加以下标记:
    <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"/>
  3. 打开 JazzInstallDir/jazz/server/tomcat/webapps/jazz/WEB-INF/web.xml 文件进行编辑,并将安全角色引用链接和映射到安全角色:
    <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>

反馈