robrogers3/laraldap-auth

laravel 的 ldap 认证

1.1.1 2018-05-25 17:59 UTC

This package is auto-updated.

Last update: 2024-09-20 12:42:16 UTC


README

Latest Version on Packagist Software License

用于替代 Laravel 对您的 ldap 服务进行认证的嵌入式替换。

支持 OpenLDAP。

安装

通过 Composer

$ composer require robrogers3/laraldap-auth

使用方法

将此添加到 app.php 中的服务提供者列表

robrogers3\laradauth\LdapAuthServiceProvider::class,

更新 config/auth.php

    'providers' => [
        'users' => [
           'driver' => 'ldap',
           'model' => App\User::class,
           'host' => 'host.example..com',
           'domain' => 'example.com',
           'base_dn' => 'cn=users,dc=cs-ds1-1,dc=home,dc=example,dc=com',
           'user_dn' => 'uid'
        ],
    ],

创建您的数据库,并在 .env 和/或 config/database.php 中指定数据库连接选项

使用 Artisan 进行认证和迁移

运行

php artisan make:auth

如果您使用 Bootstrap 3,则可以发布视图以防止用户注册。

php artisan migrate
php artisan vendor:publish --force #force cause we override those in make auth.

您可能已经完成了。请继续登录。

使用 AES 加密密码

LDAP 密码存储在用户表中。通常它们使用 BCrypt 加密。

现在支持 AES,因此您可以安全地交换需要 ldap 登录进行认证的其他应用程序的信息。

使用共享密钥,如果您共享相同的 AES 密钥,则可以在任一侧加密和解密密码。

以下是您需要做出的更改

  1. 将 packages HashServiceProvider 添加到 config/app.php
        /*
         * Package Service Providers...
         */
        robrogers3\laradauth\LdapAuthServiceProvider::class,
        robrogers3\laradauth\HashServiceProvider::class,

更新 config/hashing.php 文件如下。

    'driver' => 'aes',

    //more config here

    'aes' => [
        'key' => 'shared-secret-key'
    ]

更新您的用户数据库迁移并添加此列

            $table->string('user_name');

然后更新您的 services.php 配置文件,如下所示

    'ldap' => [
        'create-user-name' => true
    ]

现在您应该可以继续了。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test me not

贡献

请参阅 CONTRIBUTINGCONDUCT 了解详细信息。

安全

如果您发现任何安全问题,请通过电子邮件 robrogers@me.com 而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件