Laravel 4.1 w / covey /ldap-auth

#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.