Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ldap - wyciągnięcie rekordu
Forum PHP.pl > Forum > PHP
esos
Chcę zrobić prostą (teoretycznie) rzecz - gdzieś popełniam błąd...

Zależy mi na sprawdzeniu, czy login i hasło są poprawne dla AD, a nastepnie dla osoby, która się logowała, chciałbym wyświetlić wartość pola `mail`.

Pomysł na to miałem nastepujący:

  1.  
  2. <?php
  3.  
  4. error_reporting(E_ALL ^ E_NOTICE ^E_WARNING);
  5. ini_set('display_errors', 1);
  6.  
  7. //wlaczam obsl. błędów
  8.  
  9.  
  10. $ds = ldap_connect("adresip")
  11. or die("Could not connect");
  12.  
  13.  
  14. //jeśli nia przyszły dane z formularza - wyświetlam formularz.
  15. //później nieco inaczej to obsłużę - sprawdzę, czy jest sesja w php - jeśli nie, odpalę formularz
  16.  
  17. if (!$_POST['login'] OR !$_POST['pass'])
  18. {
  19. echo "<form action='index.php' method='POST'>
  20. login: <input type='text' name='login'><br>
  21. pass: <input type='password' name='pass'><br>
  22. <input type='submit' value='zaloguj'>
  23. </form>";
  24. }
  25. else
  26. {
  27. $login=$_POST['login'];
  28. $pass=$_POST['pass'];
  29.  
  30. $loginZgsg="domena\\".$login;
  31.  
  32. $ldapbind = ldap_bind($ds, $loginZgsg, $pass);
  33.  
  34. if ($ldapbind)
  35. {
  36. print "HA! $login zalogowany(a)!<br><br>";
  37. //do tego miejsca docieram - czyli połączenie jest poprawne, autoryzacja przebiegła pomyślnie.
  38.  
  39.  
  40. $ldap_base_dn = 'DC=aaa,DC=bbb,DC=ccc, DC=ddd'; //wskazuje gdzie szukać
  41. $search_filter = "(&(objectCategory=user)(userPrincipalName=nasztywnowpisananazwaktoranapewnojest*))"; //wskazuję czego szukać
  42. $result = ldap_search($ds, $ldap_base_dn, $search_filter); //szukam
  43. $info = ldap_get_entries($ds, $result); //wyniki szukania
  44.  
  45. //teraz zaczyna się magia - jak się odwołać do wyników, jeśli - nie wiem z jakiego powodu - tablica $info jest cały czas pusta?
  46. //prawodpodobnie robię jakiś podstawowy błąd którego już nie widzę.
  47.  
  48. print_r ($info); //nic mi nie zwraca...
  49.  
  50. ldap_close($ds);
  51. }
  52. else
  53. {
  54. print "nie udalo się zalogowac";
  55. }
  56.  
  57. }
  58.  
  59. ?>


Mogę poprosić o skierowanie na poprawne tory?
em1X
Co z tym kodem nie tak?
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.