Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [LDAP] Autentyfikacja uzytkownika, Jak sprawdzic uzytkowinka i haslo oraz jego grupe
foxmark
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Witam!

Niestety dla mnie musze w pracy przygotowac skrypt logowania oparty na autentyfikacji LDAP
Przy uzyciu google smile.gif przygotowalem skrypt.
Niestety skryp dzial tylko na poziomie sprawdzenia Usera i Hasla
ale nie sprawdza juz czy user nalezy do grupy TrainingSiteAdmin
Czy ktos wie wiecej na temat LDAP

Pozdrawiam!


  1. <form id="form1" name="form1" method="post" action="">
  2. <p><label>User:</label>&nbsp;&nbsp;<input type="text" id="log" name="log" /></p>
  3. <p><label>Password</label>&nbsp;&nbsp;<input type="password" id="pass" name="pass" /></p>
  4. <p>
  5. <input type="submit" name="Go" id="Go" value="Submit" />
  6. </p>
  7. </form>
  8. <?php
  9. $log = $_POST['log'];
  10. $pass = $_POST['pass'];
  11. if ((isset($pass)) && (isset($log))) {
  12. $server = "ldap://127.0.0.1";
  13. $port = "389";
  14. $loginPassword = $pass;
  15. $loginBase = "uid=". $log .",ou=Users,ou=Domain,ou=XX,o=UK,dc=YY-online,dc=com";
  16.  
  17. $ds = ldap_connect($server, $port);
  18.  
  19. if ($ds) {
  20. $ldapbind = @ldap_bind($ds, $loginBase, $loginPassword);
  21. if ($ldapbind) {
  22. $ds = ldap_connect($server, $port);
  23. $dn = "dc=sbe-online,dc=com";
  24. $filter = "(&(cn=TrainingSiteAdmin)(memberUid=".$log."))";
  25. $justthese = array("cn");
  26. $sr = ldap_search($ds, $dn, $filter, $justthese);
  27. $info = ldap_get_entries($ds, $sr);
  28. $resultat = true;
  29. echo "$log<br>";
  30. echo "---->".$info["count"]." entries returned<br>";
  31. echo "$info";
  32. } else {
  33. $resultat = false;
  34. echo "not ok";
  35. }
  36. } else {
  37. $resultat = false;
  38. echo "Connection Problem";
  39. }
  40.  
  41. return ($resultat);
  42.  
  43.  
  44.  
  45. }
  46. ?>


Ten post edytował foxmark 6.10.2011, 10:47:03
Go to the top of the page
+Quote Post
misi3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 4
Dołączył: 14.05.2010

Ostrzeżenie: (0%)
-----


Możesz wkleić jak wygląda struktura LDAP? Niedawno robiłem coś podobnego, ale z tego co widzę było to zupełnie inaczej podzielone.

Sprawdzałeś $filter poza PHP? Np. w Apache Directory Studio.


--------------------
Accesto.pl
Go to the top of the page
+Quote Post
foxmark
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Cytat(misi3kk @ 6.10.2011, 11:46:35 ) *
Możesz wkleić jak wygląda struktura LDAP? Niedawno robiłem coś podobnego, ale z tego co widzę było to zupełnie inaczej podzielone.

Sprawdzałeś $filter poza PHP? Np. w Apache Directory Studio.


Witam,

Zagadnienie Lightweight Directory Access Protocol jest mi nie znane, pierwszy raz sie z tym spotykam, filtr jak i elementy zapytan zostaly mi dostarczone przez administratora serwer, ja mam tylko uzyc tego przy tworzeniu aplikacji interentowej.

Zaraz sprawdze Apache Directory Studio i zobacze czy bede w stanie cos z tym zrobic. Nie jestem pewnien czy sie doprosze o strukture LDAP (moze to zajac jakis czas)


Pozdrawiam
Go to the top of the page
+Quote Post
misi3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 4
Dołączył: 14.05.2010

Ostrzeżenie: (0%)
-----


Struktura będzie widoczna w ADS - akurat filtrów nie używałem, ale struktura na której pracowałem była bardzo prosta i tego nie wymagała. Jeśli szukasz kodu na którym można się wzorować to dobrym pomysłem może być moodle - jest w nim integracja z LDAP i jest mocno rozbudowana.


--------------------
Accesto.pl
Go to the top of the page
+Quote Post
foxmark
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Cytat(misi3kk @ 6.10.2011, 14:29:40 ) *
Struktura będzie widoczna w ADS - akurat filtrów nie używałem, ale struktura na której pracowałem była bardzo prosta i tego nie wymagała. Jeśli szukasz kodu na którym można się wzorować to dobrym pomysłem może być moodle - jest w nim integracja z LDAP i jest mocno rozbudowana.


Ostatecznie po rozmowie z administratorem sieci dowiedzialem sie ze zeby przeszukac grupe w poszukiwaniu uzytkowniaka, dany uzytkownik musi miec przypisane prawo do szukania w grupie, istnieja dwa rozwiazania albo sprawdzic login i pass i potem uzyc drugiego usera z prawem do szukania zeby psrawdzic czy pierwszy user nalezy do grupy, lub tak jak ja uzyc LDAP tylko do identyfikacji uzytkownika a nastepnie juz z poziomu bazy danych dodac uzytkownika do grupy lokalnej dla serwisu www.

Wyglada na to ze z powodow mi nie znanych administrator sieci nie ulatwi mi pracy - moim zalozeniem bylo stworzenie globlanego skryptu i "zwalic"
autentyfikacje i przynaleznosc do grupy na LDAP - co jest chyba bezpieczniejsze i stabilniejsze bo wszystkie strony w sieci korzystalyby z tego samego skryptu. jak rowniez wyklucza potrzebe tworzenia wewnetrzych praw i grup. jedyne co musialbym zrobic to dodac usera do grupy w LDAP. Szkoda ale tymczasem projekt zostaje zawieszony i uzywam wewnetrznego skryptu do zarzadzania uzytkownikami.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 04:25