tecnical/l5-ldap-auth

Laravel 5 Active Directory LDAP认证驱动

dev-master 2015-09-29 02:37 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:00:05 UTC


README

Build Status Total Downloads Latest Stable Version License

分支

这是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_suffixbase_dndomain_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中删除但仍然在用户表中,它们将无法登录。