robrogers3 / laraldap-auth
laravel 的 ldap 认证
1.1.1
2018-05-25 17:59 UTC
Requires
- php: >=5.4
- illuminate/support: >=5.4
- phpseclib/phpseclib: ^2.0
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0||~6.0|^7.0
This package is auto-updated.
Last update: 2024-09-20 12:42:16 UTC
README
用于替代 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 密钥,则可以在任一侧加密和解密密码。
以下是您需要做出的更改
- 将 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
贡献
请参阅 CONTRIBUTING 和 CONDUCT 了解详细信息。
安全
如果您发现任何安全问题,请通过电子邮件 robrogers@me.com 而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。