tecnical / l5-ldap-auth
Laravel 5 Active Directory LDAP认证驱动
Requires
- php: >=5.5.0
- illuminate/auth: ~5.0
- illuminate/config: ~5.0
- illuminate/support: ~5.0
- tecnical/adldap: ~1.0.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-28 18:00:05 UTC
README
分支
这是strebl/ldap-auth包的分支。该包已经实现了与Laravel 5协同工作的最小化功能。
这个分支旨在包含从AD检索的一些项,并在未来实现一些关于AD管理的更多功能。
Active Directory LDAP认证
Laravel 5 Active Directory LDAP认证驱动。
贡献
只需在此存储库中发布一个问题或创建一个pull请求。我会非常感激的。
安装
版本
这将继续遵循类似Laravel自身管理的发布。当Laravel迁移到5.2时,此包将迁移到2.2,次要版本表示错误修复等。
版本2.1需要PHP 5.5+。如果您正在使用支持PHP 5.4的Laravel 5.0,您仍然可以使用~2.0。然而,这个版本将不会获得更新。
Laravel 5.1 / 5.0
要安装此包,请通过Composer进行拉取。
composer require strebl/l5-ldap-auth:~2.1
Composer完成后,您需要告诉您的应用程序使用LDAP服务提供程序。
打开config/app.php
并找到
Illuminate\Auth\AuthServiceProvider::class
并将其替换为
Ccovey\LdapAuth\LdapAuthServiceProvider::class
这告诉Laravel使用来自供应商文件夹的服务提供程序。
您还需要将Auth指向使用ldap驱动程序而不是Eloquent或数据库,编辑config/auth.php
并将驱动程序更改为ldap
'driver' => 'ldap',
Laravel 4
此包的Laravel 4版本不再维护。
要安装此包,请通过Composer进行拉取。
composer require strebl/l5-ldap-auth:~1.0
Composer完成后,您需要告诉您的应用程序使用LDAP服务提供程序。
打开config/app.php
并找到
Illuminate\Auth\AuthServiceProvider
并将其替换为
Ccovey\LdapAuth\LdapAuthServiceProvider
这告诉Laravel使用来自供应商文件夹的服务提供程序。
您还需要将Auth指向使用ldap驱动程序而不是Eloquent或数据库,编辑config/auth.php
并将驱动程序更改为ldap
配置
要在app/config/auth.php
中指定要使用的用户字段,请设置一个键/值对'username_field' => 'fieldname'
。如果您没有提供,则默认为username
。
要设置adLDAP以连接到您的域控制器,创建一个文件app/config/adldap.php。这将为您的连接提供所有配置值。对于所有配置选项,应提供一个类似于以下数组的数组。
请注意,唯一必需的选项是account_suffix
、base_dn
和domain_controllers
。其他选项提供安全或更多信息。如果您不想使用其他选项,只需删除它们即可。
return [ '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 = []
。如果您存储角色或类似敏感信息,请确保将其添加到受保护数组中。
使用Auth
的方式与默认服务提供程序相同。
默认情况下,这将包含username (samaccountname)
、displayname
、主组
以及用户所属的所有组
要编辑返回的内容,您可以在config/auth.php
中的fields
键下指定。
有关AD中可用字段的更多信息,请访问http://goo.gl/6jL4V
您还可以通过定义userList
键并将其设置为true
来获取特定OU的完整用户列表。您还必须设置定义要查看的OU的group
键。请注意,在大型AD中,这可能会减慢应用程序的运行速度。
模型使用
如果您愿意,仍然可以使用与此实现兼容的模型。ldap-auth将从ldap中提取您的字段并将其附加到模型中,使您能够访问如角色/权限等信息,前提是账户在Active Directory中有效。同时,需要注意的是,所有认证都是在模型之外进行的。所有的认证都是通过Active Directory完成的,如果它们从AD中删除但仍然在用户表中,它们将无法登录。