Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ldap - wyciągnięcie rekordu
esos
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 7.08.2005
Skąd: zabrze

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


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?

Ten post edytował esos 14.10.2013, 12:17:26
Go to the top of the page
+Quote Post

Posty w temacie
- esos   ldap - wyciągnięcie rekordu   14.10.2013, 12:13:56
- - em1X   Co z tym kodem nie tak?   18.10.2013, 23:40:47


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

 



RSS Aktualny czas: 24.08.2025 - 18:31