Laravel 5.1 adldap – не удается получить доступ к свойствам пользователя

Я пытаюсь настроить аутентификацию Active Directory в Laravel 5.1, которую мне удалось успешно пройти, используя этот пакет. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить доступ к каким-либо свойствам или группам пользователя для вошедшего в систему пользователя.

Документация по пакету не очень подробно описывает, как он используется, поэтому я не знаю, как получить доступ к свойствам пользователя Active Directory.

Я могу получить доступ к имени пользователя, используя Auth::user()->username;, но я считаю, что это возвращает имя пользователя из модели User. Когда я пытаюсь вывести пользователя с помощью dd(Auth::user();, единственными доступными атрибутами являются атрибуты в таблице Users в базе данных.

В соответствии с предоставленной документацией добавление свойства fields в файл конфигурации auth.php должно сделать их доступными, но, похоже, оно не работает должным образом. Я добавил 'fields' => ['displayname', 'givenname'] в файл конфигурации, но при запуске dd(\Auth::user()->displayname); я получаю нулевое значение.

Любая помощь будет принята с благодарностью. Благодарю вас!


person Brock B.    schedule 08.07.2015    source источник


Ответы (1)


Это поздний ответ, но я использую тот же пакет и должен был сделать это, чтобы заставить его работать.

В config/auth.php

'fields' => [
    'username' => 'samaccountname',
    'full_name' => 'displayname',
    'first_name' => 'givenname',
    'last_name' => 'sn',
    'description' => 'description',
    'primary_group' => 'primarygroup',
    'groups' => 'memberof',
],

Затем я могу получить доступ к таким значениям, как

Auth::user()->full_name

и так далее...

я тоже могу

if (in_array("Users", Auth::user()->groups)) {
    # do something...
}

Надеюсь, это поможет кому-то.

person titleistfour    schedule 09.10.2015
comment
С тех пор этот пакет был (вроде) заброшен. Штребл рекомендует использовать официальный пакет Adldap2 для Laravel. Я реализовал это в наших приложениях сейчас. Поддержка и документация надежны, и пакет работает безупречно. Я собираюсь принять ваш ответ для всех, кто все еще использует пакет. - person Brock B.; 12.10.2015
comment
Ах, круто, приятно знать. Я проверю этот другой пакет, может быть что-то, что я могу слишком легко переключить. Спасибо - person titleistfour; 13.10.2015