Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache+PHP+AD+SSO
Forum PHP.pl > Forum > Serwery WWW > Apache
Tagrussel
Witam

Dostałem zadanie aby zintegrować strone wewnetrzna naszej firmy z użytkownikami domenowymi.
Wykonanie takiej autoryzacji przez LDAP nie było jakimś większym problemem, ale przy każdym wejściu na stronę trzeba wpisywać nazwę użytkownika i hasło, co po jakimś czasie robi się uciążliwe i denerwujące.

Zapadła decyzja aby serwer sam automatycznie rozpoznawał co to za użytkownik. No i tu zrobił się problem, bo jak to zrobić?

Przeglądałem różne rozwiązania, ale nie znalazłem, rozwiązania które u mnie by działało. Pewnie robie coś źle.
Co wykorzystać do tego celu kerberos, ldap, ntlm?

Może ktoś ma jakieś doświadczenia w tym temacie? Może podzieli się swoją konfiguracją i opisze co i jak ma zrobione, a może chociaż jakiś dokładniejszy opis jak to zrobić.

Domena postawiona na Windows 2003 (niestety ma jakiś problem z serwerem czasu i kerberos sie gubi sad.gif )

serwer www to apache jezyk php wszystko stio na debianie

Jesli ktoś wie jak to zrobić będę wdzięczny za radę. bo szczerze już nie zaczynam się w tym gubić
abort
Do tej pory wykorzystywałeś formularze, w których userzy musieli wpisać nazwę użytkownika i hasło. I te dane wędrowały do serwera Apache (via PHP), który autoryzował użytkowników via LDAP. I to było dobre i działało. Jednak user zalogował się gdzieś na kompie i autoryzację już przeszedł, więc problem ten sprowadza się do tego, żeby w jakiś magiczny sposób dobrać się do informacji na temat zalogowanego użytkownika na danym kompie. W związku z tym musisz znaleźć sposób na:
1. pomajstrowanie w Windowsie i znalezienie info o zalogowanym userze (tu ciut info poniżej)
2. automatyczne przekazanie tych danych via PHP do Apache

Ale tu pojawia się inny problem: czy userzy będą w stanie w jakiś sposób zmienić te dane? Bo jeśli info o zalogowanym userze leży gdzieś np. w zmiennych systemowych, to takie dane łatwo podmienić, a w związku z tym łatwo podszyć się pod innego użytkownika.

Nie jestem w stanie sprawdzić, jak sprawa wygląda w ActiveDirectory, ale dla pojedynczej stacji (bez logowania do domeny) login usera trzymany jest w zmiennej systemowej. Odpal w windowsie command prompta i napisz "SET" - nazwa aktualnie zalogowanego użytkownika będzie w zmiennej systemowej USERNAME... A zmodyfikować zmienną systemową nie jest problemem, co oczywiście kładzie na łopatki całe bezpieczeństwo aplikacji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.