aimme/laravel5-ldap

Laravel 5 的 LDAP (Active Directory) 认证

1.0.1 2016-11-09 15:59 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:20:02 UTC


README

Build Status Built for Laravel 5 MIT License

  • 仅在 Laravel 5.3 上进行测试
  • 您需要拥有用户 Eloquent 模型,并且数据库用户表应该有邮箱字段
  • 您可以使用默认的 Auth 和 Ldap
  • Ldap 门面工作与 Auth 一样。它是 ldap 认证的入口
  • 用户应在提供者(在此例中为 users)表和 Active Directory 中,密码字段不是必需的。
  • 以下是如何配置提供者的说明

####安装

1 - 使用 composer 需要此包

composer require aimme/laravel5-ldap

2 - 添加提供者

file: config/app.php

'providers' => [
    ....
    Aimme\Ldap\LdapServiceProvider::class,
];

3 - 添加别名

file: config/app.php

'aliases' => [
    ....
    'Ldap' => Aimme\Ldap\Facades\Ldap::class,
    ....
];

4 - 运行以下 artisan 命令

php artisan make:ldap-auth

php artisan vendor:publish --provider="Aimme\Ldap\LdapServiceProvider"

5 - 添加中间件

file: app/Http/Kernel.php

protected $routeMiddleware = [
    ...
    'ldap' => \Aimme\Ldap\Middleware\Authenticate::class,
    ...
];

6 - 将以下配置更改应用到 ldap 配置文件

文件:config/ldap.php

  • 将 providers 数组 users 模型更改为您的 Eloquent 用户模型路径(如果不同)

    'providers' => [
        'users' => [
            'driver' => 'ldap',
            'model' => App\User::class,
        ],
    
  • 设置您的环境变量。

    'domain' => env('LDAP_DOMAIN', 'MYDOMAIN'),
    'host' => env('LDAP_HOST', 'ldap://aimme.mydomain.net'),
    

请参阅https://php.ac.cn/manual/en/function.ldap-connect.php

  • host(LDAP_HOST) 是 $host 例如:ldap://aimme.mydomain.net

请参阅https://php.ac.cn/manual/en/function.ldap-bind.php

  • domain(LDAP_DOMAIN) 是 $bind_rdn 示例:MYDOMAIN