palio.modules
Class Ldap

java.lang.Object
  extended by palio.modules.core.Module
      extended by palio.modules.Ldap
All Implemented Interfaces:
palio.modules.core.CurrentModuleDataKeys

public class Ldap
extends palio.modules.core.Module

Moduł udostępnia zestaw funkcji wykorzystywanych do komunikowania sie z serwerem LDAP. Aby można było polączyć sie z serwerem, należy zdefiniować konektor "Ldap" w konfiguracji instancji jpalio.
Wzór definicji konektora:

 <connector name="ldap" url="ldap://<host>:<port>/<initial_context>">
  <principal>...</principal>
  <credentials>...</credentials>
 </connector>
 

przykład definicji:

 <connector name="ldap" url="ldap://localhost:389/dc=xxx">
  <principal>cn=Manager,dc=xxx</principal>
  <credentials>passwd</credentials>
 </connector>
 

W przypadku połączenia anonimowego nie potrzebne są pola "principal" i "credentials"

Moduł jest dostępny w każdej instancji jPalio.

Version:
1.8.3
Author:
Krzysztof Madyniak (kmadyniak@torn.com.pl)

Field Summary
 
Fields inherited from interface palio.modules.core.CurrentModuleDataKeys
DESIGNER_ACTIONS_BUFFER, HTML_FORM_BUILDER, HTML_MAP_BUILDER, HTML_MENU_BUILDER, HTML_TOOLTIPS_BUFFER, ITEXT_DOCUMENT, MAIL_MESSAGE, XLS_DOCUMENT, XML_DOCUMENT
 
Constructor Summary
Ldap(palio.Instance instance, java.util.Properties parameters)
           
 
Method Summary
 void bind(java.lang.String connector, java.lang.String name, java.lang.Object obj)
          przypisuje nazwę do obiektu
static java.lang.Boolean checkAuthorization(java.lang.String url, java.lang.String principal, java.lang.String credentials)
          testuje autoryzację
 void createSubcontext(java.lang.String connector, java.lang.String name)
          tworzy i przypisuje nowy podkontekst
 void destroySubcontext(java.lang.String connector, java.lang.String name)
          niszczy zadany kontekst i usuwa go z przestrzeni nazw
 java.util.LinkedList getAttributes(java.lang.String connector, java.lang.String name)
          Odczytuje atrybuty i ich wartosci dla obiektu o danej nazwie
 java.util.LinkedList getAttributes(java.lang.String connector, java.lang.String name, java.lang.Object[] attrIds)
          Odczytuje wybrane atrybuty i ich wartosci dla obiektu o danej nazwie
 javax.naming.Context getInitialContext(java.lang.String connector)
           
 javax.naming.directory.DirContext getInitialDirContext(java.lang.String connector)
           
 java.lang.String getUrl(java.lang.String connector)
          Zwraca Url wpisany w pliku konfiguracyjnym instancji dla podanego connectora.
 java.lang.String getVersion()
          Returns the module version
 java.util.LinkedList list(java.lang.String connector, java.lang.String name)
          zwraca listę obiektów z danego kontekstu
 java.lang.Object lookup(java.lang.String connector, java.lang.String name)
          zwraca obiekt o danej nazwie
 void modifyAttribute(java.lang.String connector, java.lang.String name, java.lang.Long mode, java.lang.String attrName, java.lang.String attrValue)
          modyfikuje atrybut obiektu o danej nazwie
 void modifyAttributes(java.lang.String connector, java.lang.String name, java.lang.Long mode, java.lang.Object[] attrs)
          modyfikuje atrybuty obiektu o danej nazwie
 void rebind(java.lang.String connector, java.lang.String name, java.lang.Object obj)
          przypisuje nazwe do obiektu przy jednoczesnym nadpisaniem istniejacych przypisań
 void rename(java.lang.String connector, java.lang.String oldName, java.lang.String newName)
          zmienia nazwę obiektu przypisanego do starej nazwy
 java.util.LinkedList search(java.lang.String connector, java.lang.String contextName, java.lang.Object[] attributes)
          wyszukuje obiekty z zadanego kontekstu zawierające zbiór zadanych atrybutów z zadanymi wartosciami
 java.util.LinkedList search(java.lang.String connector, java.lang.String contextName, java.lang.Object[] attrsNames, java.lang.Object[] attrsValues)
          Deprecated.  
 java.util.LinkedList search(java.lang.String connector, java.lang.String contextName, java.lang.String filter, java.lang.Long scope, java.lang.Long countLimit, java.lang.Long timeLimit)
          wyszukuje obiekty z zadanego kontekstu zawierające zbiór zadanych atrybutów z wartosciami spełaniające warunek nakładany przez filtr
 void unbind(java.lang.String connector, java.lang.String name)
          usuwa obiekt o danej nazwie
 
Methods inherited from class palio.modules.core.Module
getConfigParam, getDescription, getModuleTranslation
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ldap

public Ldap(palio.Instance instance,
            java.util.Properties parameters)
Method Detail

getVersion

public java.lang.String getVersion()
Description copied from class: palio.modules.core.Module
Returns the module version

Specified by:
getVersion in class palio.modules.core.Module

getInitialContext

public javax.naming.Context getInitialContext(java.lang.String connector)
                                       throws palio.PalioException
Parameters:
connector -
Returns:
initial Context
Throws:
palio.PalioException
Since:
module 1.8.3, jPALIO 7.2.54

getInitialDirContext

public javax.naming.directory.DirContext getInitialDirContext(java.lang.String connector)
                                                       throws palio.PalioException
Parameters:
connector -
Returns:
initial DirContext
Throws:
palio.PalioException
Since:
module 1.8.3, jPALIO 7.2.54

list

public java.util.LinkedList list(java.lang.String connector,
                                 java.lang.String name)
                          throws palio.PalioException
zwraca listę obiektów z danego kontekstu

Parameters:
connector - nazwa konektora typu Ldap
name - nazwa kontekstu
Returns:
listę tablic zawierającą nazwę obiektu i nazawę klasy
Throws:
palio.PalioException

lookup

public java.lang.Object lookup(java.lang.String connector,
                               java.lang.String name)
                        throws palio.PalioException
zwraca obiekt o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name -
Returns:
obiekt o danej nazwie
Throws:
palio.PalioException

bind

public void bind(java.lang.String connector,
                 java.lang.String name,
                 java.lang.Object obj)
          throws palio.PalioException
przypisuje nazwę do obiektu

Parameters:
connector - nazwa konektora typu Ldap
name -
obj -
Throws:
palio.PalioException

rebind

public void rebind(java.lang.String connector,
                   java.lang.String name,
                   java.lang.Object obj)
            throws palio.PalioException
przypisuje nazwe do obiektu przy jednoczesnym nadpisaniem istniejacych przypisań

Parameters:
connector - nazwa konektora typu Ldap
name -
obj -
Throws:
palio.PalioException

unbind

public void unbind(java.lang.String connector,
                   java.lang.String name)
            throws palio.PalioException
usuwa obiekt o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name -
Throws:
palio.PalioException

rename

public void rename(java.lang.String connector,
                   java.lang.String oldName,
                   java.lang.String newName)
            throws palio.PalioException
zmienia nazwę obiektu przypisanego do starej nazwy

Parameters:
connector - nzawa konektora typu Ldap
oldName -
newName -
Throws:
palio.PalioException

createSubcontext

public void createSubcontext(java.lang.String connector,
                             java.lang.String name)
                      throws palio.PalioException
tworzy i przypisuje nowy podkontekst

Parameters:
connector - nzawa konektora typu Ldap
name -
Throws:
palio.PalioException

destroySubcontext

public void destroySubcontext(java.lang.String connector,
                              java.lang.String name)
                       throws palio.PalioException
niszczy zadany kontekst i usuwa go z przestrzeni nazw

Parameters:
connector - nzawa konektora typu Ldap
name -
Throws:
palio.PalioException

getAttributes

public java.util.LinkedList getAttributes(java.lang.String connector,
                                          java.lang.String name)
                                   throws palio.PalioException
Odczytuje atrybuty i ich wartosci dla obiektu o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name - nazwa obiektu
Returns:
lista atrybutów wraz z ich wartościami. każdy element listy to dwuelementowa tablica: (1 - nazwa atrybutu, 2 - wartości danego atrybutu)
Throws:
palio.PalioException

getAttributes

public java.util.LinkedList getAttributes(java.lang.String connector,
                                          java.lang.String name,
                                          java.lang.Object[] attrIds)
                                   throws palio.PalioException
Odczytuje wybrane atrybuty i ich wartosci dla obiektu o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name - nazwa obiektu
attrIds - tablica identyfikatorów atrybutów
Returns:
lista atrybutów wraz z ich wartościami. każdy element listy to dwuelementowa tablica: (1 - nazwa atrybutu, 2 - wartości danego atrybutu)
Throws:
palio.PalioException

modifyAttribute

public void modifyAttribute(java.lang.String connector,
                            java.lang.String name,
                            java.lang.Long mode,
                            java.lang.String attrName,
                            java.lang.String attrValue)
                     throws palio.PalioException
modyfikuje atrybut obiektu o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name - nazwa obiektu
mode - type modyfikacji obiektu 1 - ADD_ATTRIBUTE 2 - REPLACE_ATTRIBUTE 3 - REMOVE_ATTRIBUTE
attrName - nazwa modyfikowanego atrybutu
attrValue - wartość atrybutu (w przypadku usuwania należy użyć wartości null)
Throws:
palio.PalioException

modifyAttributes

public void modifyAttributes(java.lang.String connector,
                             java.lang.String name,
                             java.lang.Long mode,
                             java.lang.Object[] attrs)
                      throws palio.PalioException
modyfikuje atrybuty obiektu o danej nazwie

Parameters:
connector - nazwa konektora typu Ldap
name - nazwa obiektu
mode - type modyfikacji obiektu 1 - ADD_ATTRIBUTE 2 - REPLACE_ATTRIBUTE 3 - REMOVE_ATTRIBUTE
attrs - tablica dwu wymiarowych tablic [[nazwa atrybutu, wartość atrybutu], ...]
Throws:
palio.PalioException

search

@Deprecated
public java.util.LinkedList search(java.lang.String connector,
                                              java.lang.String contextName,
                                              java.lang.Object[] attrsNames,
                                              java.lang.Object[] attrsValues)
                            throws palio.PalioException
Deprecated. 

wyszukuje obiekty z zadanego kontekstu zawierające zbiór zadanych atrybutów z zadanymi wartosciami

Parameters:
connector - nazwa konektora typu Ldap
contextName - nazwa kontekstu
attrsNames - nazwy atrybutów
attrsValues - wartosci wymagane, w przypadku gdy chcemy aby znalezione zostały obiekty posiadające dany atrybut(nie zależnie od wartości) używamy null'a
Returns:
lista nazw znalezionych obiektów spełaniające zadany warunek
Throws:
palio.PalioException

search

public java.util.LinkedList search(java.lang.String connector,
                                   java.lang.String contextName,
                                   java.lang.Object[] attributes)
                            throws palio.PalioException
wyszukuje obiekty z zadanego kontekstu zawierające zbiór zadanych atrybutów z zadanymi wartosciami

Parameters:
connector - nazwa konektora typu Ldap
contextName - nazwa kontekstu
attributes - tablica dwuelementowych tablic (1 - nazwa atrybutu, 2 - wartość (w przypadku gdy chcemy aby znalezione zostały obiekty posiadające dany atrybut, nie zależnie od wartości, użyć należy wartości null)
Returns:
lista nazw znalezionych obiektów spełaniające zadany warunek
Throws:
palio.PalioException

search

public java.util.LinkedList search(java.lang.String connector,
                                   java.lang.String contextName,
                                   java.lang.String filter,
                                   java.lang.Long scope,
                                   java.lang.Long countLimit,
                                   java.lang.Long timeLimit)
                            throws palio.PalioException
wyszukuje obiekty z zadanego kontekstu zawierające zbiór zadanych atrybutów z wartosciami spełaniające warunek nakładany przez filtr

Parameters:
connector - nazwa konektora typu Ldap
contextName - nazwa kontekstu
filter - filtr używany do wyszukiwania - składnia opisana w RFC 2254 np (&(sn=XXX)(mail=*)) wyszukuje obiekty, którego atrybut "sn" równy jest "XXX" oraz posiada atrybut "mail" o dowolnej wartości
scope - zakres wyszukiwania (jeżeli null, wartoscia domyslna jest ONLEVEL_SCOPE) 0 - OBJECT_SCOPE - sprawdzanie czy dany obiekt spełnia dane warunki 1 - ONELEVEL_SCOPE - przeszukuje poziom kontekstu 2 - SUBTREE_SCOPE = przeszukuje poddrzewo kontekstu
countLimit - liczba ograniczająca liczbę znalezionych obiektów (jeżeli null to brak ograniczenia)
timeLimit - timeout wyszykiwania w milisekundach (jeżeli null to brak ograniczenia na czas)
Returns:
lista nazw znalezionych obiektów spełaniające zadany warunek
Throws:
palio.PalioException

checkAuthorization

public static java.lang.Boolean checkAuthorization(java.lang.String url,
                                                   java.lang.String principal,
                                                   java.lang.String credentials)
testuje autoryzację

Parameters:
url -
principal -
credentials -

getUrl

public java.lang.String getUrl(java.lang.String connector)
Zwraca Url wpisany w pliku konfiguracyjnym instancji dla podanego connectora.

Parameters:
connector - nazwa connectora
Since:
module 1.8.2, jPALIO 7.2.33