daemon144key/laravel-simple-ldap

封装 LDAP 服务的简单类。

0.1.5 2018-07-04 07:19 UTC

This package is not auto-updated.

Last update: 2024-09-19 09:20:20 UTC


README

描述

提供 LDAP 服务的简单封装类。

设置 / 初始化

  • 安装包
composer require daemon144key/laravel-simple-ldap
  • 添加到 app/config.php
<?php
return [
	// ...
    'providers' => [
    	// ...
        TuxDaemon\LaravelSimpleLdap\LaravelSimpleLdapServiceProvider::class
    ],
    'aliases' => [
    	// ...
        'LDAP'      => TuxDaemon\LaravelSimpleLdap\Services\Facades\LdapService::class,
    ],
];
  • 优化
php artisan optimize
  • 使用默认环境变量键(LDAP 服务器主机名/IP 地址,LDAP 服务器端口,基础唯一名称/DN,管理员级别用户相对-DN 和密码)设置配置,或发布配置以进行进一步配置
SIMPLE_LDAP_HOST=
SIMPLE_LDAP_PORT=389
SIMPLE_LDAP_BASE_DN=
SIMPLE_LDAP_PASSWORD=
SIMPLE_LDAP_USER_RDN=

php artisan vendor:publish --tag=laravel-simple-ldap-config

然后在 config/laravel_simple_ldap.php 中编辑

服务使用

  • 首先初始化连接
LDAP::connnect()
  • 绑定用户
LDAP::bindUser($optionalUserRDN = "");
  • 基于筛选器搜索
LDAP::search ($filter, $extendedBaseDN = ""); 
  • 添加记录
LDAP::add($rdn, $data);
  • 修改记录(对象级别)
LDAP::modify($rdn, $data);
  • 修改记录(对象属性级别)
LDAP::modifyReplace($rdn, $data);
  • 删除记录
LDAP::delete($rdn);
  • 最后关闭连接
LDAP::close();

示例用法

<?php
	// .....
	if (LDAP::connnect())
	{
		// Bind to LDAP
		$bind			= LDAP::bindUser();

		// Search in LDAP
		$inputFilter["gender"] = "male";
		$result			= LDAP::search ($inputFilter, "ou=people"); 
		info($result);

		// Add to LDAP
		$data["objectclass"][0]	= "orgPerson";
		$data["objectclass"][1]	= "orgEmail";
		$data["objectclass"][2]	= "orgProxyClient";	
		$data["userpassword"] 	= 'secret';
		$data["usingstatus"]	= "TRUE";
		$data["gender"]			= "male";
		$data["homedir"]		= "/home/someperson";
		$addResult = LDAP::add("orgAccountID=someperson,ou=people", $data);
		info($addResult);

		// Modify Data in LDAP
		$data["gender"]			= "female";
		$modifyResult = LDAP::modify("orgAccountID=someperson,ou=people", $data);
		info($modifyResult);

		// Delete Data in LDAP
		$deleteResult = LDAP::delete("orgAccountID=someperson,ou=people");
		info($deleteResult);
		
		// Close Connection in LDAP
		LDAP::close();
	} else {
		return "Can't connect to LDAP!";
	}
	// .....

许可证

Laravel 框架是开源软件,根据 MIT 许可证 许可。