php ldap active directory Подключение и проверка пользователя
<?php
function checkLdapLogin($login, $password) {
$ldap_connection = ldap_connect('ldaps://192.000.000.000', PORT_INT);
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap_connection, LDAP_OPT_TIMELIMIT, 0);
$ldap_bind = ldap_bind($ldap_connection, 'adminh@user.com', 'PASS');
if (!$ldap_bind) {
echo 'Нет подключения к ldap!';
return false;
}
// Поиск
$search_result = ldap_search(
$ldap_connection,
'DC=corp,DC=armango,DC=net',
"(sAMAccountName=$login)"
);
$entries = ldap_get_entries($ldap_connection, $search_result);
if (empty($entries)) {
return false;
}
// Проверка по доступу пользователя
return ldap_bind($ldap_connection, $entries[0]['dn'], $password) ?
true : false;
}
echo '['.checkLdapLogin('USER_TEST', 'PASS2_TEST').']';