fzhan / l5-ldap-auth
Laravel 5 Active Directory LDAP 认证驱动程序
Requires
- php: >=5.3.0
- illuminate/auth: 5.0.*
- illuminate/config: 5.0.*
- illuminate/support: 5.0.*
- strebl/adldap: ~4.0
Requires (Dev)
- mockery/mockery: dev-master
This package is not auto-updated.
Last update: 2024-10-02 08:32:48 UTC
README
Laravel 5 Active Directory LDAP 认证驱动程序。
分支
这是一个对Cody Covey的ldap-auth包的分支。遗憾的是,他最近没有开发这个包,并且没有将包更新到Laravel 4.1+或Laravel 5。因此,我决定分支这个包,以提供最小的Laravel 5支持。
第一个版本2.0尚未经过充分的测试。请小心使用!
贡献
只需在此存储库中提交一个问题或创建一个pull request即可。我会非常感激。
安装
Laravel 5
这将遵循与Laravel本身管理版本类似的方式。当Laravel迁移到5.1时,此包将迁移到2.1,次要版本表示错误修复等。要安装此包,请将以下内容添加到您的composer.json中
require { "strebl/l5-ldap-auth": "~2.0", }
然后运行
composer install
或 composer update
,具体取决于情况
一旦您从Packagist.org下载了包,您需要让应用程序使用LDAP服务提供者。
打开 config/app.php
并找到
Illuminate\Auth\AuthServiceProvider
并将其替换为
Ccovey\LdapAuth\LdapAuthServiceProvider
这告诉Laravel 4使用来自vendor文件夹的服务提供者。
您还需要将Auth指向使用ldap驱动程序而不是Eloquent或Database,编辑config/auth.php
并将驱动程序更改为ldap
Laravel 4
此包的Laravel 4版本不再开发。
要安装此包,请将以下内容添加到您的composer.json中
require { "strebl/l5-ldap-auth": "~1.0", }
然后运行
composer install
或 composer update
,具体取决于情况
一旦您从Packagist.org下载了包,您需要让应用程序使用LDAP服务提供者。
打开 config/app.php
并找到
Illuminate\Auth\AuthServiceProvider
并将其替换为
Ccovey\LdapAuth\LdapAuthServiceProvider
这告诉Laravel 4使用来自vendor文件夹的服务提供者。
您还需要将Auth指向使用ldap驱动程序而不是Eloquent或Database,编辑config/auth.php
并将驱动程序更改为ldap
配置
要指定在app/config/auth.php
中使用的用户名字段,请设置键/值对'username_field' => 'fieldname'
。如果没有提供,则默认为username
。
要设置您的adLDAP以连接到您的域控制器,创建一个文件app/config/adldap.php。这将提供所有连接的配置值。对于所有配置选项,应提供类似于以下数组的数组。
请注意,唯一必需的选项是account_suffix
、base_dn
和domain_controllers
。其他选项提供安全或更多信息。如果您不想使用其他选项,只需删除它们。
return array( 'account_suffix' => "@domain.local", 'domain_controllers' => array("dc1.domain.local", "dc2.domain.local"), // An array of domains may be provided for load balancing. 'base_dn' => 'DC=domain,DC=local', 'admin_username' => 'user', 'admin_password' => 'password', 'real_primary_group' => true, // Returns the primary group (an educated guess). 'use_ssl' => true, // If TLS is true this MUST be false. 'use_tls' => false, // If SSL is true this MUST be false. 'recursive_groups' => true, );
用法
$guarded现在默认为所有,因此要使用模型,您必须将其更改为$guarded = array()
。如果您存储角色或类似敏感信息,请确保将其添加到guarded数组中。
使用Auth
的方式与默认服务提供者相同。
默认情况下,这将包含username (samaccountname)
、displayname
、primary group
以及用户所属的所有组
要编辑返回的内容,您可以在config/auth.php
中的fields
键下指定。
有关AD中可用的字段的更多信息,请访问http://goo.gl/6jL4V
您还可以通过定义userList
键并将其设置为true
来获取特定OU的完整用户列表。您还必须设置定义要查看的OU的group
键。请注意,在大型AD中,这可能会减慢应用程序的速度。
模型用法
如果您愿意,仍然可以使用此实现中的模型。ldap-auth 会从 ldap 获取您的字段并将其附加到模型中,允许您访问如角色/权限等信息,前提是账户在 Active Directory 中有效。还应注意,所有的认证都发生在模型之外。所有的认证都由 Active Directory 完成,如果他们在 AD 中被移除但仍然在用户表中,他们将无法登录。