kamiyonanayo/laravel-kldap-auth

Laravel的LDAP认证

1.0.0 2024-01-04 11:11 UTC

This package is auto-updated.

Last update: 2024-09-04 13:25:19 UTC


README

Laravel的LDAP认证库

用法

安装

通过Composer安装

composer require kamiyonanayo/laravel-kldap-auth

复制库的配置文件

使用artisan的vendor:publish命令将配置文件复制到config文件夹

php artisan vendor:publish --tag=kldap-auth-config

修改库的配置文件

根据环境修改config/kldap-auth.php的内容

修改认证设置文件

修改认证设置文件(config/auth.php),将认证提供者的驱动设置为kldap,并添加kldap_connection和model。

  • 在kldap_connection中指定config("kldap-auth.connections")中存在的键。
  • 指定model为模型类。

示例auth.php

return [
    /*
    |--------------------------------------------------------------------------
    | User Providers
    |--------------------------------------------------------------------------
    |
    | All authentication drivers have a user provider. This defines how the
    | users are actually retrieved out of your database or other storage
    | mechanisms used by this application to persist your user's data.
    |
    | If you have multiple user tables or models you may configure multiple
    | sources which represent each model / table. These sources may then
    | be assigned to any extra authentication guards you have defined.
    |
    | Supported: "database", "eloquent"
    |
    */
    'providers' => [
        'users' => [
            'driver' => 'kldap',
            'kldap_connection' => 'ldap',
            'model' => App\Models\User::class,
        ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],
];

事件

事件类触发时机
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapValidated::classLDAP认证成功时
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapSynchronizingDatabse::classLDAP认证成功后DB同步前
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapSynchronizedDatabse::classLDAP认证成功后DB同步后
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapRegistered::class在数据库同步处理中创建用户数据时
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapChanged::class在数据库同步处理中值被更改时
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapFallbackValidateCredentials::class发生回退时
\Kamiyonanayo\LaravelLdapAuth\Events\Auth\KLdapFallbackValidated::class回退认证成功时
\Illuminate\Auth\Events\Registered::class创建用户数据时(通过设置(fire_laravel_registered_event)可控)

认证过滤器

要自定义认证处理时

通过继承\Kamiyonanayo\LaravelLdapAuth\Filter\Filter::class创建类,并在配置文件的ldap_filter中指定。

使用class指定类名,使用parameters指定传递给构造函数的值。

数据库同步

要自定义数据库同步处理时

通过继承\Kamiyonanayo\LaravelLdapAuth\Database\Hydrators\Hydrator::class创建类,并在配置文件的database_sync.hydrators中指定。