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:
<?php
//wlaczam obsl. błędów
$ds = ldap_connect("adresip")
or
die("Could not connect");
//jeśli nia przyszły dane z formularza - wyświetlam formularz.
//później nieco inaczej to obsłużę - sprawdzę, czy jest sesja w php - jeśli nie, odpalę formularz
if (!$_POST['login'] OR !$_POST['pass'])
{
echo "<form action='index.php' method='POST'> login: <input type='text' name='login'><br>
pass: <input type='password' name='pass'><br>
<input type='submit' value='zaloguj'>
</form>";
}
else
{
$login=$_POST['login'];
$pass=$_POST['pass'];
$loginZgsg="domena\\".$login;
$ldapbind = ldap_bind($ds, $loginZgsg, $pass);
if ($ldapbind)
{
print "HA! $login zalogowany(a)!<br><br>"; //do tego miejsca docieram - czyli połączenie jest poprawne, autoryzacja przebiegła pomyślnie.
$ldap_base_dn = 'DC=aaa,DC=bbb,DC=ccc, DC=ddd'; //wskazuje gdzie szukać
$search_filter = "(&(objectCategory=user)(userPrincipalName=nasztywnowpisananazwaktoranapewnojest*))"; //wskazuję czego szukać
$result = ldap_search($ds, $ldap_base_dn, $search_filter); //szukam
$info = ldap_get_entries($ds, $result); //wyniki szukania
//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?
//prawodpodobnie robię jakiś podstawowy błąd którego już nie widzę.
print_r ($info); //nic mi nie zwraca...
ldap_close($ds);
}
else
{
print "nie udalo się zalogowac"; }
}
?>
Mogę poprosić o skierowanie na poprawne tory?
Ten post edytował esos 14.10.2013, 12:17:26