невозможно войти в систему laravel с использованием пакета LDAP Adldap2- Laravel - PullRequest
0 голосов
/ 15 января 2020

Я использую пакет Adldap2- Laravel для аутентификации. Я тестирую с помощью тестового форума LDAP. Я следовал этому уроку https://jotaelesalinas.github.io/laravel-simple-ldap-auth/ Но я не могу войти. Я не получаю никаких ошибок. В приведенном ниже коде всегда выполняется блок else.

Я думаю, что я допустил ошибку в конфигурации. Пожалуйста, помогите мне

Спасибо

контроллер входа

  protected function attemptLogin(Request $request)
    {

        $credentials = $request->only($this->username(), 'password');
        $username = $credentials[$this->username()];
        $password = $credentials['password'];

        $user_format = env('LDAP_USER_FORMAT', 'cn=%s,'.env('LDAP_BASE_DN', ''));
        $userdn = sprintf($user_format, $username);


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

            dd('working'); 
        }
        else
        {
            dd('not working');

        }  
    }

env file

LDAP_SCHEMA=OpenLDAP
LDAP_HOSTS=ldap.forumsys.com
LDAP_BASE_DN=dc=example,dc=com
LDAP_USER_ATTRIBUTE=uid
LDAP_USER_FORMAT=uid=%s,dc=example,dc=com
LDAP_CONNECTION=default

# Change from mysql to sqlite:

DB_CONNECTION=sqlite  

ldap. php

return [

    'logging' => env('LDAP_LOGGING', false),

    'connections' => [
        'default' => [
       'auto_connect' => env('LDAP_AUTO_CONNECT', false),

            'connection' => Adldap\Connections\Ldap::class,
            'settings' => [

                'schema' => env('LDAP_SCHEMA', '') == 'OpenLDAP' ?
                Adldap\Schemas\OpenLDAP::class :
                ( env('LDAP_SCHEMA', '') == 'FreeIPA' ?
                    Adldap\Schemas\FreeIPA::class :
                    Adldap\Schemas\ActiveDirectory::class ),

                'account_prefix' => env('LDAP_ACCOUNT_PREFIX', ''),
                'account_suffix' => env('LDAP_ACCOUNT_SUFFIX', ''),
                'hosts' => explode(' ', env('LDAP_HOSTS', 'corp-dc1.corp.acme.org corp-dc2.corp.acme.org')),
                'port' => env('LDAP_PORT', 389),
                'timeout' => env('LDAP_TIMEOUT', 5),
                'base_dn' => env('LDAP_BASE_DN', 'dc=corp,dc=acme,dc=org'),
                'username' => env('LDAP_ADMIN_USERNAME', ''),
                'password' => env('LDAP_ADMIN_PASSWORD', ''),
                'follow_referrals' => env('LDAP_FOLLOW_REFERRALS', false),
                'use_ssl' => env('LDAP_USE_SSL', false),
                'use_tls' => env('LDAP_USE_TLS', false),

            ],

        ],

    ],

];

ldap_auth. php

 'identifiers' => [
        'ldap' => [
            'locate_users_by' => env('LDAP_USER_ATTRIBUTE', 'userprincipalname'),
            'bind_users_by' => env('LDAP_USER_ATTRIBUTE', 'distinguishedname'),
        ],

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

    'passwords' => [


        'sync' => env('LDAP_PASSWORD_SYNC', false),

        'column' => 'password',

    ],



    'login_fallback' => env('LDAP_LOGIN_FALLBACK', false),


    'sync_attributes' => [
        // 'field_in_local_db' => 'attribute_in_ldap_server',
        'username' => 'uid',
        'name' => 'cn',
        'phone' => 'telephonenumber',
    ],

1 Ответ

0 голосов
/ 19 марта 2020

наконец, я установил соединение LDAP в laravel приложении. Если кто-то сталкивается с трудностями при подключении LDAP go через этот пакет https://ldaprecord.com/docs/laravel/. очень четкое объяснение интеграции LDAP в laravel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...