2017-04-07 81 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]

添加後綴現在我能夠通過電子郵件地址進行連接。

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


我讓這個帖子開了幾天,看看是否有人有更好的主意