Version 14 (modified by jpo, 8 years ago)

--

Zintegrowane logowanie SSO za pomocą NTLM

Konfiguracja logowania automatycznego

Przed przystąpieniem do konfiguracji należy upewnić się, że spełnione zostały wszystkie wymagania. Aby automatyczne logowanie działało poprawnie:

Użytkownicy muszą logować się do systemu operacyjnego dzięki autoryzacji domenowej, czyli Active Directory.

Użytkownicy logują się do swoich stacji roboczych wykorzystując domenę.

Na kontrolerze domeny musi być uruchomiony serwer IIS, port jest dowolny.

Kontroler domeny oraz serwer eDokumentów muszą mieć dostęp do siebie nawzajem.

Konfiguracja serwera IIS

Z katalogu /var/tpl (Panel sterowania > Szablony systemowe) należy skopiować plik sso.aspx.tpl do katalogu na serwerze IIS, zmieniając mu nazwę na sso.aspx lub inną (nazwa sso.aspx zostanie używa w dalsze części instrukcji). Plik ten musi być dostępny z zewnątrz poprzez protokół HTTP lub HTTPS.

Następnie należy wyłączyć anonimowy dostęp do pliku sso.aspx i wymusić autoryzację NTLM podczas dostępu do niego.

http://technet.microsoft.com/pl-pl/library/cc754628%28v=ws.10%29.aspx

Konfiguracja systemu eDokumenty

W pliku config.inc należy ustawić pewne stałe.

EXT_ACTIONS_ENGINE_URL - Adres główny systemu eDokumenty z kończącym slashem, np. http://edokumenty.companyname.com/

SSO_REMOTE_SERVICE - Pełny adres do pliku sso.aspx, np. http://domena.firma/sso.aspx

SSO_SALT - Losowy ciąg znaków który dodatkowo zabezpieczy system logowania, np. abcd1234

SSO_LOGIN_ENABLED - Na tym etapie konfiguracji należy zostawić wartość FALSE aby nie zaburzyć działania systemu.

EDOK_API_LOGIN - Login, który umożliwi zalogowanie do API, dowolny.

EDOK_API_PASSWORD - Hasło do API, dowolne.

Konfiguracja pliku sso.aspx

Należy otworzyć plik sso.aspx w edytorze tekstu w trybie UTF-8 bez BOM - np. w darmowym Notepad++.

Następnie znajdujemy deklarację zmiennych api_user, api_pass, api_host, entity oraz salt i ustawiamy je na poprawne wartości. Opis zmiennych:

api_host - Pełny adres do pliku eDokumentyApi.php, np. http://edokumenty.companyname.com/eDokumentyApi.php

api_user - użytkownik API, taki sam jak w config.inc

api_pass - Suma md5 hasła EDOK_API_PASSWORD generowanego przy pomocy md5 oraz solenie jej i ponowne liczenie sumy. Pseudokod generujący sumę: dla PHP

md5(md5('<HASŁO DO API>').'_SOAP_eDok_api');

dla PostgreSQL

SELECT md5(md5('<HASŁO DO API>')||'_SOAP_eDok_api');

Powyższa definicja jest konkatenacją md5 z hasła do API oraz ciągu znaków o treści: _SOAP_eDok_api.

entity - Symbol jednostki organizacyjnej, np. beta

salt - Wartość soli, czyli wartość SSO_SALT z config.inc

Uruchomienie funkcjonalności

Aby uruchomić logowanie automatyczne należy w pliku config.inc systemu eDokumenty zmienić wartość stałej SSO_LOGIN_ENABLED na TRUE.

Aby wyłączyć - wystarczy ustawić na FALSE.

Uwaga: zmiany są natychmiastowe.

Konfiguracja funkcji logowania automatycznego w popularnych przeglądarkach

Firefox

Należy otworzyć stronę about:config, w wyszukiwarce wpisać ntlm-auth.trust, następnie podwójnie kliknąć na network.automatic-ntlm-auth.trusted-uris i po przecinku wpisać adres zarówno systemu eDokumenty jak i serwera IIS. Przykład: http://moja.firma.biz,http://kontroler.firma

Google Chrome i Internet Explorer

W systemie Windows należy otworzyć komponent Opcje internetowe, przejść na zakładkę Zabezpieczenia, kliknąć przycisk Poziom niestandardowy i na dole listy, w sekcji Uwierzytelnianie użytkownika wybrać opcję Zaloguj automatycznie z bieżącą nazwą użytkownika i hasłem i zaakceptować przyciskiem OK. Następnie kliknąć na Zaufane witryny w górnej części okna, następnie na przycisk Witryny, a następnie dodać do listy adres serwera eDokumenty jak i serwera IIS.

Wymagane pakiety

Do poprawnego działa usługi wymagany jest pakiet php-curl

apt-get install php5-curl

w pliku php.ini dodajemy dla Linux

extension=curl.so

dla Windows

extension=php_curl.dll

Następnie wykonujemy restart Apache2

/etc/init.d/apache2 restart