berg/ldap-authenticator

此包已废弃,不再维护。未建议替代包。

用于快速设置 LDAP 验证包

0.2.4 2015-10-07 20:06 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:59:07 UTC


README

Build Status

LDAP 验证器

此包通过使用 Zend Framework 的 LDAP 验证包快速支持 LDAP 验证。它包括对 Laravel 5 的支持。

安装

composer require berg/ldap-authenticator

Laravel 配置

此包包含一个驱动器,支持使用 Laravel 5 快速设置。要设置,首先安装包,然后在 AppServiceProvider 的 boot 方法中放置以下代码以注册驱动器

Auth::extend('ldap', function($app) {
    $userProvider = new LdapUserProvider();
    return new Guard($userProvider, $app->make('Illuminate\Session\Store'));
});

然后,在 config/ 文件夹中创建一个名为 ldap.php 的文件。该文件应返回以下值的数组

'hostname'      => '',
'port'          => 636,
'security'      => 'SSL',
'base_dn'       => '',
'bind_dn'       => '',
'bind_password' => ''

最后,将 config/auth.php 文件中的驱动器设置为 ldap

如果您想使用该类进行非认证任务,例如检查用户是否存在,您也可以通过在 app.php 配置文件中添加以下行来使用内置的服务提供者

'Berg\LdapAuthenticator\Laravel\LdapServiceProvider'

使用方法

一旦设置,使用 Auth::attempt($username, $password) 将自动调用 ldap 驱动器。

要使用服务提供者,调用 App::make('LdapAuthenticateService')

异常

此包使用异常来处理无效登录。以下错误被使用

'Berg\LdapAuthenticator\Exceptions\IncorrectCredentialsException'
'Berg\LdapAuthenticator\Exceptions\InvalidCredentialsException'
'Berg\LdapAuthenticator\Exceptions\UserDoesNotExistException

如果使用 Laravel,这些错误应添加到 Handler 类的 $dontReport 属性中。可以添加到 Handler->render() 方法的每个异常的自定义处理。