Использование CentOS 7.5, Apache 2.4.6.Бег в ВМ.Нет SSL.
Я следовал https://linuxhostsupport.com/blog/how-to-install-ldap-on-centos-7/ и настроил OpenLDAP.
Из PHP, когда я делаю анонимное связывание и выдаю ldap_search, я вижу запись для пользователя.
При связывании с ИД пользователя и паролем функция завершается ошибкой.
PS: В случае ввода неверного пароля, как изменить пароль для пользователя, определенного в LDAP, с использованием файла ldif?
Вот код:
$ds = ldap_connect("localhost"); // must be a valid LDAP server!
echo "LDAP Server connection result is " . $ds . "<br />";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // this is an "anonymous" bind, typically
// read-only access
echo "Bind result is " . $r . "<br />";
echo "Searching for (sn=*) ...";
// Search surname entry
$sr=ldap_search($ds, "o=Sapphire, ou=karachi", "sn=*");
echo "Search result is " . $sr . "<br />";
echo "Number of entries returned is " . ldap_count_entries($ds, $sr) . "<br />";
echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
echo "Binding as $userid ... ";
if( $r = ldap_bind($ds, "uid=hussain,ou=People,dc=karachi,dc=sapphire", $password) ){
echo "Userid or Password is valid";
}else{
echo "Userid or Password is not valid";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}