【问题标题】:Adldap::auth()->attempt(username, password) return always falseAdldap::auth()->attempt(username, password) 总是返回 false
【发布时间】:2019-07-30 09:16:17
【问题描述】:

Laravel 版本:5.8 Adldap2-Laravel 版本:6.0 PHP版本:7.1.3 LDAP 类型:活动目录

您好,凭据正确,但我无法通过它们登录。 Adlap::auth()->attempt() 总是返回 false。

$user_format = env('LDAP_USER_FORMAT', 'cn=%s,dc=corp,dc=org');
$userdn = sprintf($user_format, $username);

 if(Adldap::auth()->attempt($userdn, $request->password , true)) {
           return redirect('/home');
 } else {
            dd($userdn);
 }

配置/ldap_auth.php

'connection' => env('LDAP_CONNECTION', 'default'),
'provider' => Adldap\Laravel\Auth\DatabaseUserProvider::class,
'model' => App\User::class,
'rules' => [
    Adldap\Laravel\Validation\Rules\DenyTrashed::class,
],
'identifiers' => [
    'ldap' => [
        'locate_users_by' => 'userprincipalname',
        'bind_users_by' => 'distinguishedname',
    ],

    'database' => [
        'username_column' => 'username',
    ],

    'windows' => [
        'locate_users_by' => 'samaccountname'
    ],
],
'login_fallback' => env('LDAP_LOGIN_FALLBACK', false),
'usernames' => [
    'ldap' => 'userprincipalname', // was just 'userprincipalname'
    'eloquent' => 'username', // was 'email'
],
'sync_attributes' => [
    'username' => 'userprincipalname',
    'name' => 'cn',
],

'logging' => [
    'enabled' => env('LDAP_LOGGING', true),

【问题讨论】:

  • 如果你直接把value放在这里attempt('username', 'password', true)呢?
  • 我试过了。我用前缀和后缀错了用户名。现在我的错误是:传递给 Illuminate\Auth\SessionGuard::__construct() 的参数 2 必须是 Illuminate\Contracts\Auth\UserProvider 的实例,给定 null,在 /var/www/DATI/pmi/vendor/laravel/ 中调用framework/src/Illuminate/Auth/AuthManager.php 第 125 行

标签: laravel active-directory ldap


【解决方案1】:

我解决了。

用户名格式错误。我不需要这些信息。

$user_format = env('LDAP_USER_FORMAT', 'cn=%s,dc=corp,dc=org');
$userdn = sprintf($user_format, $username);

 if(Adldap::auth()->attempt($userdn, $request->password , true)) {

现在,我在表单中输入值。在我的情况下 name.surname


if(Adldap::auth()->attempt($request->username, $request->password , true)) {

【讨论】:

    猜你喜欢
    • 2014-03-15
    • 2012-10-25
    • 1970-01-01
    • 2016-09-12
    • 2017-05-24
    • 2013-06-11
    • 2015-12-10
    • 2019-04-14
    相关资源
    最近更新 更多