System eDokumenty umożliwia autentykację użytkowników systemu w trzech wariantach:
W niniejszym artykule opiszemy metodę autentykacji przy pomocy LDAP oraz Active Directory.
Przejdź do Menu
Do współpracy eDokumentów z LDAP oraz Active Directory wymagane jest zainstalowanie obsługi LDAP przez PHP. Obsługę taką zawiera pakiet php5-ldap (dla linuksa). Szczegóły są dostępne na stronie http://www.php.net/ldap.
Jeżeli pakiet w Debianie nie jest zainstalowany, to należy wykonać następujące polecenia (z poziomu użytkownika root):
root@pc# apt-get update
root@pc# apt-get install php5-ldap
root@pc# /etc/init.d/apache2 restart
W systemie Windows w katalogu C:\Program Files\php\ext powinien znajdować się plik php-ldap.dll. Aby parser php mógł skorzystać z tej biblioteki nalezy w pliku php.ini odkomentować rozszerzenie: ;extension=php_ldap.dll usuwając symbol średnika sprzed wyrażenia. Ostatnim krokiem jest zrestartowanie serwera Apache.
Przejdź do Menu
Ta część niniejszego artykułu dotyczyć będzie autentykacji przy pomocy protokołu LDAP. Zakłada się tutaj, iż mamy w systemie Windows bądź Linux zainstalowany serwer LDAP - przykładowo: OpenLDAP http://www.openldap.org/ (linux) oraz http://www.userbooster.de/en/download/openldap-for-windows.aspx (windows).
Przejdź do Menu
Po zdefiniowaniu użytkowników na serwerze LDAP, należy przejść do eDokumentów, i zdefiniować sposób autentykacji. Wykonuje się to w menu Ustawienia > Panel Sterowania > Autentykacja. Otwiera się okienko, gdzie wybieramy Typ: LDAP. Pojawiają się nam pola, gdzie wprowadzamy:
Dodatkowo warto przetestować połączenie wprowadzając dane użytkownika, dla którego zostanie przeprowadzona testowa autentykacja.
Dane z powyższego formularza są wprowadzone do pliku config.inc, którego fragment dotyczący autentykacji został przedstawiony w dalszej części artykułu.
Po ustawieniu i przetestowaniu połączenia do eDokumentów będzie się mógł zalogować tylko ten użytkownik, który posiada konto na serwerze LDAP.
Przejdź do Menu
W niniejszej części artykułu zajmiemy się autentykacją przy pomocy Active Directory. System eDokumenty może być zainstalowany albo na serwerze Microsoft Windows lub też na serwerze Linuksowym np. Debian.
Aby móc skorzystać z dobrodziejstw uwierzytelniania poprzez LDAP (Active Directory na Windows) należy skonfigurować podstawowe dane przy użyciu formularza umieszczonego w Panelu Sterowania > Autentykacja.
W formularzu wybieramy rodzaj autoryzacji, następnie wpisujemy adres hosta - komputera, który jest kontrolerem domeny. Base DN - jest wyjaśnione w dalszej części artykułu. Ważne jest, aby w polu Domena wpisać pełny adres domeny poprzedzony znakiem @ np. @edokumenty.firma.
Aby przetestować wpisy, należy wprowadzić użytkownika z prawami administratora domeny i jego hasło.
Powyższy formularz uzupełnia poniższe stałe zawarte w pliku config.inc w katalogu głównym apps\edokumenty. W przypadku jeśli którejś z tych stałych nie ma należy dodać ją ręcznie korzystając z edytora teksu (zalecany Notepad++, VIM).
define('AUTHENTICATION_METHOD', 'PG'); // znacznik określający sposób autentykacji opcje: PG, LDAP, AD define('LDAP_HOST', ''); // adres IP serwera define('LDAP_PORT', 389); // port najczęściej 389 // ścieżka do wyszukania danych usera który ma prawo do // przeglądania zasobów ldap włącznie z hasłami np.: cn=root,ou=BetaSoft,ou=Users,dc=firma,dc=local define('LDAP_AUTH_USER', ''); define('LDAP_AUTH_PASS', ''); // haslo dla usera powyzej define('LDAP_BASE_DN', ''); // ścieżka wyszukiwanie np ou=BetaSoft,ou=Users,dc=firma,dc=local // specyficzne wartości dla Active Directory define('ACTIVE_DIRECTORY_ACCOUNT_SUFFIX', '@firma.local'); // nazwa domeny poprzedzona @
Odnośnie LDAP_BASE_DN najczęściej jest to ciąg postaci DC=firma,DC=local - każdy kolejny DC określa człon domeny np. edokumenty.firma.local będzie wyglądać DC=edokumenty,DC=firma,DC=local. Co do OU=betasoft jest to oznaczenie symboliczne oraz nazwa korzenia w którym nastąpi wyszukiwanie użytkowników.
Wyśmienitym narzędziem do pobrania tych danych jest Softerra LDAP Browser (Windows), phpLDAPadmin (PHP).
Po wprowadzeniu danych do powyższego formularza/pliku config.inc należy przetestować połączenie i zapisać ustawienia:
Przejdź do Menu
Dodawanie użytkownika do eDokumentów, w przypadku autentykacji AD wymaga dodatkowej pracy związanej z założeniem użytkownika w AD. Dopiero po założeniu użytkownika na kontrolerze AD oraz w eDokumentach pozwoli użytkownikowi uruchomić system eDokumenty na swoim stanowisku.
Przejdź do Menu
Jeżeli user jest w ActiveDirectory i zaloguje się pierwszy raz do systemu z użyciem poprawnego hasła wówczas system eDokumenty utworzy jego konto w bazie eDokumenty i doda tego użytkownika do tych grup do których jest przypisany w LDAP i które również obecne są w systemie eDokumenty.
--- BEGIN DOPISANE PRZEZ TOMEK ---
Dodatkowe operacje. W przypadku LDAP oraz AD w momencie pomyślnego przebiegu procesu autentykacji na serwerze następuje automatyczna aktualizacja loginu oraz hasła w bazie eDokumenty.
Dodatkowo w plikach /var/tpl/ad_column_map.ini oraz /var/tpl/ldap_column_map.ini można zadeklarować mapowanie pozostałych pól z LDAP/AD na pola z systemu eDokumenty (domyślnie ustawienia są gotowe po instalacji systemu eDokumenty).
Dodatkowo w przypadku LDAP oraz AD w momencie autentykacji następuje automatycznie zakładanie konta w systemie eDokumenty jeśli takiego konta nie zdefiniowano. Dla AD dodatkowo następuje powiązanie do grup zgodnie z przynależnością zadeklarowaną w AD - grupy muszą istnieć w systemie eDokumenty.
--- END DOPISANE PRZEZ TOMEK ---
Przejdź do Menu