【问题标题】:LDAP authentification in LaravelLaravel 中的 LDAP 身份验证
【发布时间】:2017-04-07 16:11:01
【问题描述】:

我负责创建一个新的 laravel 项目,其中身份验证由我们的 LDAP 进行。我对 laravel 很陌生,请原谅我缺乏理解

我正在尝试使用这个库:Adldap2-Laravel

我跟随this documentation从头开始构建身份验证。

所以我的 config/app.php 添加了这些行

//In providers array
Adldap\Laravel\AdldapServiceProvider::class,
Adldap\Laravel\AdldapAuthServiceProvider::class,

//In aliases
'Adldap' => Adldap\Laravel\Facades\Adldap::class,

还有我的config/auth.php(我也试过只用adldap驱动,没有成功)

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
    'users' => [
        'driver' => 'adldap',
        'model'  => App\User::class,
    ],
],

一切看起来都不错。但我不能认证,我有这个错误:These credentials do not match our records.

当我使用这段代码时

use Adldap\Laravel\Facades\Adldap;

$username = "myUser";
$password = "myPassword";

if (Adldap::auth()->attempt($username, $password)) {
    //Queries here
}
else
{
    echo "Auth failed";
}

我可以执行查询,并且身份验证适用于我的所有用户。但我无法正确使用“登录”按钮后面的登录表单。

我错过了什么吗?


我不知道身份验证是否应该在不导入任何内容的情况下直接工作,但我也尝试运行此命令

php artisan adldap:import

我的所有用户都被找到并插入到 laravel 数据库中。但是身份验证仍然不起作用。

【问题讨论】:

    标签: php laravel authentication ldap


    【解决方案1】:

    我从 .env 文件中删除了ADLDAP_ACCOUNT_SUFFIX=

    并直接在ADLDAP_ADMIN_USERNAME=Administrator@mycompany.something中添加后缀

    现在我可以通过电子邮件地址进行连接了。

    我不知道这是否是最好的解决方案,但至少它有效。


    我让这个帖子开放几天,看看是否有人有更好的主意

    【讨论】:

      猜你喜欢
      • 2016-07-09
      • 1970-01-01
      • 2019-09-05
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 2011-09-23
      • 2017-01-09
      相关资源
      最近更新 更多