0

我正在尝试在 Laravel 5.1 中设置 Active Directory 身份验证,我能够使用此包成功进行身份验证。我遇到的问题是我无法访问登录用户的任何用户属性或组。

该软件包的文档对它的使用方式不是很详尽,因此我对如何访问 Active Directory 用户的属性感到迷茫。

我可以通过 using 访问用户名,Auth::user()->username;但我相信这是从 User 模型返回用户名。当我尝试使用dd(Auth::user();唯一可用的属性输出用户时,数据库中的用户表中的属性。

根据提供的文档,将 fields 属性添加到 auth.php 配置文件应该可以访问它们,但它似乎无法正常工作。我已经添加'fields' => ['displayname', 'givenname']到配置文件中,但是在运行时 dd(\Auth::user()->displayname);我收到一个空值。

任何帮助将不胜感激。谢谢!

4

1 回答 1

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

希望对某人有所帮助。

于 2015-10-09T21:44:29.877 回答