#php #laravel #ldap
#php #laravel #ldap
Вопрос:
Я пошел дальше и выполнил все инструкции по установке https://github.com/ccovey/ldap-auth чтобы попытаться получить аутентификацию LDAP с помощью Laravel 4.1.
adldap.php
return array(
'account_suffix' => "@xxxxxxx.xxx.xxx",
'domain_controllers' => array("dc01.xxxxxxx.xxx.xxx"),
'base_dn' => 'DC=xxxxxxxx,DC=xxx,DC=xxx',
);
Теперь, если я оставлю adldap.php файл, как указано выше, и запустите следующее route.php файл
Route::get('/', function()
{
$credentials = array(
'username' => 'username',
'password' => 'password'
);
if($a = Auth::attempt($credentials))
{
return '<pre>' . print_r(Auth::user(), true);
}
else
{
dd($a);
}
});
Я получаю следующий вывод
bool(false)
Что, похоже, не имеет смысла, потому что я использую правильное имя пользователя / пароль. Я также использую ту же конфигурацию в отношении домена и DCs при запуске ADSI из MSSQL, поэтому я знаю, что это работает.
Теперь, если я изменю adldap.php файл, содержащий admin_username, admin_password Я получаю следующую ошибку в моем laravel.log
'Bind to Active Directory failed. Either the LDAPs connection failed or the login credentials are incorrect. AD said: Can't contact LDAP server'
Есть предложения? Заранее спасибо.
Ответ №1:
Вам нужно установить admin_username
и admin_password
, и вам также нужно убедиться, что у вас установлены правильные настройки для SSL / TSL, чтобы попытаться автоматически угадать настройки вашей целевой рекламы. Помимо этого у вас может быть какая-то ошибка с вашим base_dn
. Вы можете сэкономить много хлопот, используя LDAP-клиент для более простой проверки этих настроек (что-то вроде LDAP-браузера Softerra).
Ответ №2:
На случай, если кто-нибудь когда-нибудь найдет этот пост. Мне пришлось создать каталог OpenLDAP и создать сертификат из Active Directory.