2017-04-07 87 views
0

我负责创建一个新的laravel项目,其中通过LDAP进行身份验证。我是很新的laravel所以原谅我的缺乏理解Laravel的LDAP验证

我想使用这个库的:Adldap2-Laravel

我跟着this documentation从头开始构建的认证。

所以我配置/ app.php有那些行加

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

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

而且我配置/ 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

我从.ENV文件

删除ADLDAP_ACCOUNT_SUFFIX=,直接[email protected]

添加后缀现在我能够通过电子邮件地址进行连接。

我不知道这是否是最好的解决方案,但至少可以工作。


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