我负责创建一个新的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 DB中。但身份验证仍然无效。
答案 0 :(得分:0)
我从 .env 文件
中删除了ADLDAP_ACCOUNT_SUFFIX=
并在ADLDAP_ADMIN_USERNAME=Administrator@mycompany.something
现在我可以通过电子邮件地址进行连接。
我不知道这是否是最佳解决方案,但至少它是有效的。
我让这篇文章开放几天,看看是否有人有更好的想法