如果您計劃搭配 Jazz™ Team Server 來使用 LDAP 登錄,您必須將您的 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 內容識別使用者登入系統時所用的使用者 ID。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>使用下列標籤,來更新 security-constraint 區段:
<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 群組的每一個 security-constraint,重複相同的附錄:
<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>