LDAP


Opis

Moduł LDAP implementuje zestaw najbardziej przydatnych komend protokołu LDAP (operacje na kontekstach, operacje przeszukiwania, edycji, dodawania, usuwania oraz przenoszenia elementów drzewa na serwerze).

Moduł dodatkowo posiada możliwość pobrania kontekstu zdefiniowanego w konektorze i dokonywania na nim operacji takich, jakie implementuje biblioteka JNDI (zostanie zwrócony obiekt klasy javax.naming.directory.DirContext).

Moduł LDAP jest modułem standartowym, jest dostępny w każdej instancji jPalio, aby można było połączyć się z serwerem, należy zdefiniować konektor LDAP w konfiguracji instancji jPALIO. Jego konfiguracja jest opisana w artykule Dokumentacja > Konektory > LDAP.

Zobacz także:


[LDAP] Opis
 

Przykłady

Test połączenia z serwerem:

$ldap.checkAuthorization("ldap://111.222.111.222:389", "cn=Directory Manager", "password")
Odczytanie atrybutów i ich wartości dla podanego węzła, pokazane zostaną  tylko te atrybuty których identyfikator jest równy "state", czyli pole zawierające stan usługi tv, klienta testowicz, w regionie first-region, dla podanego ret1:

$for(@item, 
  (List)$ldap.getAttributes("ldap-services", "serviceName=tv,uniqueID=testowicz,ou=first-region,retailername=ret1,o=Users,o=UMC", ["state"])
, {
  $@item
})
Ustawienie atrybutów w węźle, w trybie REPLACE_ATTRIBUTE (zostaną nadpisane o ile istnieją), klientowi joe zostaną nadane dwa imiona, oraz trzy pojedyncze pola:

$ldap.modifyAttributes("ldap-vas", "uniqueID=joe,ou=first-region,retailername=virtual-SP,o=Users,o=UMC", 2, [
 ["sn", "sn2"],
 ["cn", "cn2"],
 ["givenName", "n2"],
 ["givenName", "n3"],
 ["userPassword", null]
])
Kod groovy, pobierający kontekst dostawcy, a następnie wyszukujący określony region:

LdapContext ctx = ldap.lookup("ldap-test", "retailername=virtual-SP,o=Users,o=UMC")

Attributes sAttrs = new BasicAttributes(true);  
sAttrs.put(new BasicAttribute("ou", "first-region"));  

NamingEnumeration list = ctx.search("", sAttrs);
while (list.hasMore()) {
    SearchResult sr = (SearchResult)list.next();
    System.out.println(sr.getAttributes());
}
Dodawanie elementu drzewa (określający użytkownika):

Attribute atr;
Attributes matchAttrs = new BasicAttributes(true);  
matchAttrs.put(new BasicAttribute("cn", "tmpUser cn"));             
matchAttrs.put(new BasicAttribute("sn", "tmpUser sn"));        
matchAttrs.put(new BasicAttribute("givenName", "tmpUser gn"));             
matchAttrs.put(new BasicAttribute("userPassword", ""));
atr = new BasicAttribute("objectClass");
atr.add("top");
atr.add("person");
atr.add("organizationalPerson");
atr.add("inetOrgPerson");
atr.add("umcUser");
atr.add("umcSubscriber");
matchAttrs.put(atr);    

ldap.bind("ldap-vas", "uniqueID=tmpUser,ou=first-region,retailername=virtual-SP,o=Users,o=UMC", (Attributes)matchAttrs)

API

http://jpalio.torn.com.pl/modules/palio/modules/Ldap.html