smalot/ldap
最新稳定版本:v0.4
Composer 安装命令:
composer require smalot/ldap
包简介
PHP library which handle LDAP data. Can parse too LDIF file.
关键字:
README 文档
README
PHP library which handle LDAP data. Can parse too LDIF file.
Prerequisites
You need at least PHP 5.3.3 and LDAP php module enabled.
Installation
Download project using composer
Add LDAP in your composer.json:
{ "require": { "smalot/ldap": "*" } }
Now tell composer to download the bundle by running the command:
$ php composer.phar update smalot/ldap
Composer will install the bundle to your project's smalot/ldap directory.
Documentation
Connect to LDAP server (simple)
<?php require 'vendor/autoload.php'; $server = new \Smalot\Ldap\Server(); $server->bind('cn=admin,dc=nodomain', 'S3CR3T');
Connect to LDAP server (with options)
<?php require 'vendor/autoload.php'; $options = array( LDAP_OPT_PROTOCOL_VERSION => 3, ); $server = new \Smalot\Ldap\Server('127.0.0.1', 389, $options); $server->bind('cn=admin,dc=nodomain', 'S3CR3T');
Find objects
<?php require 'vendor/autoload.php'; $server = new \Smalot\Ldap\Server(); $server->bind('cn=admin,dc=nodomain', 'S3CR3T'); $repository = $server->getDefaultRepository(); $results = $repository->search('ou=Users,dc=nodomain', '(objectClass=*)'); while ($result = $results->fetchEntry()) { // Handle result object acording to your needs }
Find object using its distinguished named
<?php require 'vendor/autoload.php'; $server = new \Smalot\Ldap\Server(); $server->bind('cn=admin,dc=nodomain', 'S3CR3T'); $repository = $server->getDefaultRepository(); // Returns null if nothing found $object = $repository->searchDN('uid=User1,ou=Users,dc=nodomain');
Create object (and add it)
<?php require 'vendor/autoload.php'; $server = new \Smalot\Ldap\Server(); $server->bind('cn=admin,dc=nodomain', 'S3CR3T'); $repository = $server->getDefaultRepository(); // Create a new user $dn = 'uid=User1,ou=Users,dc=nodomain'; $user = new \Smalot\Ldap\Object($dn); $user->get('objectClass')->add('top'); $user->get('objectClass')->add('inetOrgPerson'); $user->get('objectClass')->add('posixAccount'); $user->get('displayName')->setValue('Username'); $user->get('mail')->set('username@example.org'); $user->get('cn')->set('Username'); $user->get('sn')->set('Username'); $user->get('givenName')->set('Username'); $user->get('displayName')->set('Username'); $user->get('gidNumber')->set(0); $user->get('uidNumber')->set(1001); $user->get('homeDirectory')->set('/home/false'); $user->get('loginShell')->set('/sbin/nologin'); $password = \Smalot\Ldap\Tools::generateRandomPassword(); $user->get('userPassword')->set(\Smalot\Ldap\Tools::encodePassword($password)); // ... // Store the new user $repository->add($user); // Create a new group $dn = 'cn=Group1,ou=Groups,dc=nodomain'; $group = new \Smalot\Ldap\Object($dn); $group->get('objectClass')->add('top'); $group->get('objectClass')->add('posixGroup'); $group->get('gidNumber')->set(2001); // Store the new group $repository->add($group); // Link user to the group $repository->modify($group, 'add', array('memberUid' => $user->get('uid')->getValue()));
统计信息
- 总下载量: 978
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-04-07