Patrzyłem na kilka przewodników (iInstrukcja PHP) próbując zweryfikować użytkowników AD na stronie intranetowej, którą zamierzam wykonać, po raz pierwszy użyłem ldap_connect i nie miałem szczęścia.
Czy ktokolwiek mógłby spojrzeć na mój kod i zobaczyć, czego mi brakuje?
Dzięki.
<?php
$user = "08jf1";
$password = "pass";
// Active Directory server
$ldap_host = "10.43.48.5";
// Active Directory DN
$ldap_dn = "OU=CSE-W7,OU=Students-W7,DC=server,DC=local";
// Domain, for purposes of constructing $user
$ldap_usr_domain = "@server.local";
// Connect to AD host
$ldapconn = ldap_connect("10.43.48.5");
if ($ldapconn) {
$bind = ldap_bind($ldap_host, $ldap_dn, $user . $ldap_usr_domain, $password);
if ($bind) {
echo "Verified user";
//$_SESSION["username"] = $session_username;
//$_SESSION["password"] = $session_password;
} else {
echo "User does not exist";
}
}
?>
Edytować: Potwierdzam, że ldap jest włączony chociaż phpinfo!
Odpowiedzi:
1 dla odpowiedzi № 1Czy to jest składnia ldap_bind
poprawny?. To nie tak ldap_bind($ldapconn,$rdn,$password)
?
0 dla odpowiedzi nr 2
Wiązanie może wymagać podniesionego przywileju lub owijki authbind. Zobacz authbind dla ldap. Autoryzacja LDAP
0 dla odpowiedzi № 3
Spójrz na ten bardzo prosty przykład: Jak korzystać z uwierzytelniania LDAP Active Directory w PHP