Planując korzystanie z rejestru LDAP wraz z produktem Jazz Team Server, należy skonfigurować serwer Apache Tomcat lub WebSphere Application Server do korzystania z rejestru LDAP na potrzeby uwierzytelniania użytkowników.
| Parametr | Opis wartości |
|---|---|
| Położenie rejestru LDAP | Adres URL odwołujący się do serwera LDAP. ldap://ldap.przyklad.com:389 |
| Nazwa użytkownika | Nazwa użytkownika do zalogowania się na danym serwerze LDAP. Niektóre serwery LDAP umożliwiają anonimowe logowanie. W takim przypadku ten parametr pozostaje pusty. |
| Hasło | Hasło powiązane z daną nazwą użytkownika. |
| Podstawowa nazwa wyróżniająca użytkowników | Podstawa wyszukiwania określa miejsce w danej hierarchii, w którym należy rozpocząć wyszukiwanie użytkowników. Na przykład "o=firma,l=miasto,c=kraj" |
| Odwzorowanie nazw właściwości użytkowników | Odwzorowanie nazw właściwości użytkowników produktu Jazz na
nazwy atrybutów wpisów do rejestru LDAP. Należy zdefiniować następujące odwzorowania:
Właściwość userid określa ID użytkownika używany, gdy użytkownik loguje się do systemu. Właściwość name jest używana przy wyświetlaniu nazwy w interfejsie użytkownika. Na przykład userId=mail,name=cn,emailAddress=mail |
| Podstawowa nazwa wyróżniająca grupy | Ta podstawa wyszukiwania określa miejsce w danej hierarchii, w którym należy rozpocząć wyszukiwanie nazw grup (np. ou=lista_czlonkow,ou=grupy_uzytkownika,o=przyklad.com) |
| Odwzorowanie grup produktu Jazz na grupy LDAP | Odwzorowanie między grupami produktu Jazz a
grupami LDAP. Jedna grupa produktu Jazz może być odwzorowana na wiele
grup LDAP.
Grupy LDAP muszą być oddzielone średnikami. Na przykład
JazzAdmins=LDAPAdmins1;LDAPAdmins2 odwzorowuje grupę JazzAdmins
na grupy LDAPAdmins1 i LDAPAdmins2. Produkt Jazz Team Server definiuje
pięć grup, które można odwzorowywać:
|
| Właściwość Nazwa grupy | Właściwość LDAP reprezentująca nazwę grupy produktu Jazz w rejestrze LDAP. Na przykład cn. Właściwość ta jest używana w zapytaniach do pobierania grup LDAP. Aby pobrać grupę LDAP, zapytanie używa kombinacji Podstawowej nazwy wyróżniającej grupy i Nazwy grupy. |
| Właściwość Członek grupy | Właściwość LDAP reprezentująca członków grupy w danym rejestrze LDAP. Na przykład uniquemember. |
<Realm className="org.apache.catalina.realm.DziedzinaBazyDanychUzytkownika"
resourceName="BazaDanychUzytkownika"
digest="SHA-1"
digestEncoding="UTF-8"/>
<Realm className="org.apache.catalina.realm.DziedzinaBazyDanychUzytkownika"
resourceName="BazaDanychUzytkownika"
digest="SHA-1"
digestEncoding="UTF-8"/>
<Realm className="org.apache.catalina.realm.DziedzinaJNDI"
debug="99"
connectionURL="ldap://ldap.firma.com:389"
roleBase="cn=Grupy,dc=firma,dc=com"
roleSearch="(uniquemember={0})"
roleName="cn"
userBase="cn=Uzytkownicy,dc=firma,dc=com"
userSearch="(uid={0})"/>
Dodaj następujący znacznik dla usługi katalogowej Microsoft® Active Directory:<Realm className="org.apache.catalina.realm.DziedzinaJNDI"
debug="99"
connectionURL="ldap://ldap.firma.com:3268"
authentication="simple"
referrals="follow"
connectionName="cn=UzytkownikLDAP,ou=Konta uslug,dc=firma,dc=com"
connectionPassword="BardzoTajneHaslo"
userSearch="(sAMAccountName={0})"
userBase="dc=firma,dc=com"
userSubtree="true"
roleSearch="(member={0})"
roleName="cn"
roleSubtree="true"
roleBase="dc=firma,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> <!-- Dodatek Jeśli nazwy grup LDAP są takie same, jak domyślne role produktu Jazz nie ma potrzeby dodawania poniższych znaczników --> <security-role-ref> <role-name>JazzAdmins</role-name> <role-link>[Grupa LDAP dla administratorów produktu Jazz]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzDWAdmins</role-name> <role-link>[Grupa LDAP dla administratorów produktu Jazz]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzGuests</role-name> <role-link>[Grupa LDAP dla administratorów produktu Jazz]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzUsers</role-name> <role-link>[Grupa LDAP dla administratorów produktu Jazz]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzProjectAdmins</role-name> <role-link>[Grupa LDAP dla administratorów produktu Jazz]</role-link> </security-role-ref> </servlet> <!-- ... --> </web-app>Użyj poniższych znaczników do zadeklarowania grup LDAP jako ról dostępu:
<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> <!-- Dodatek Jeśli nazwy grup LDAP są takie same, jak domyślne role produktu Jazz nie ma potrzeby dodawania poniższych znaczników --> <role-name>[Grupa LDAP dla administratorów produktu Jazz]</role-name> <role-name>[Grupa LDAP dla administratorów hurtowni danych produktu Jazz]</role-name> <role-name>[Grupa LDAP dla gości produktu Jazz]</role-name> <role-name>[Grupa LDAP dla użytkowników produktu Jazz]</role-name> <role-name>[Grupa LDAP dla administratorów projektu w produkcie Jazz]</role-name> <!-- Koniec Dodatku --> </security-role> <!-- ... --> </web-app>Poniższe znaczniki służą do aktualizacji sekcji 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> <!-- Dodatek Jeśli nazwy grup LDAP są takie same, jak domyślne role produktu Jazz nie ma potrzeby dodawania poniższych znaczników --> <role-name>[Grupa LDAP dla administratorów produktu Jazz]</role-name> <role-name>[Grupa LDAP dla administratorów hurtowni danych produktu Jazz]</role-name> <role-name>[Grupa LDAP dla gości produktu Jazz]</role-name> <role-name>[Grupa LDAP dla użytkowników produktu Jazz]</role-name> <role-name>[Grupa LDAP dla administratorów projektu w produkcie Jazz]</role-name> <!-- Koniec Dodatku --> </auth-constraint> <user-data-constarint> <transport-guarantee>POUFNE</transport-guarantee> </user-data-constraint> </security-constraint> <!-- ... --> </web-app>Ten sam dodatek należy powtórzyć dla każdej sekcji each security-constraint odnoszącej się do grupy 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> <!-- Dodatek --> <role-name>[Grupa LDAP dla administratorów produktu Jazz]</role-name> <!-- Koniec Dodatku --> </auth-constraint> <user-data-constraint> <transport-guarantee>POUFNE</transport-guarantee> </user-data-constraint> </security-constraint> <!-- ... --> </web-app>