Я использую библиотеку ldap для Codeigniter, написанную Грегом Войтаком из auth_ldap_library.
Я настроил конфигурацию в соответствии с инструкциями. Однако, когда я пытаюсь пройти аутентификацию, используя свое имя пользователя и пароль, я получаю сообщение об ошибке (ldap_bind () не может выполнить привязку).
Ниже конфиг
$config['ldap_uri'] = array('ldaps://dc1.mycompany.com/', 'ldaps://dc2.mycompany.com/');
$config['use_tls'] = false; // Using SSL above, don't use TLS with it
$config['search_base'] = 'DC=mycompany,DC=com';
$config['user_search_base'] = 'CN=Users,DC=mycompany,DC=com';
$config['group_search_base'] = 'CN=Users,DC=mycompany,DC=com';
$config['user_object_class'] = 'user';
$config['group_object_class'] = 'group';
$config['user_search_filter'] = '';
$config['group_search_filter'] = '';
$config['login_attribute'] = 'sAMAccountName';
$config['schema_type'] = 'ad'; // Could also use rfc2307bis
$config['proxy_user'] = ''; // Or CN=ProxyUser,CN=Users,DC=mycompany,DC=com
$config['proxy_pass'] = '';
$config['roles'] = array(1 => 'User',
3 => 'Power User',
5 => 'Administrator');
$config['auditlog'] = 'application/logs/audit.log';
Это строка, в которой я получаю сообщение об ошибке «ошибка при поиске DN для имени пользователя»
линия 217 — это линия foreach
foreach($this->user_search_base as $usb) {
$search = ldap_search($this->ldapconn, $usb, $filter,
array('dn', $this->login_attribute, 'cn'));
$entries = ldap_get_entries($this->ldapconn, $search);
if(isset($entries[0]['dn'])) {
$binddn = $entries[0]['dn'];
break;
}
}
Сообщение об ошибке, как показано ниже.
Кто-нибудь сталкивался с подобной проблемой?
Задача ещё не решена.
Других решений пока нет …