2017 © Pedro Peláez
 

library ldap-client

LDAP Client

image

rimelek/ldap-client

LDAP Client

  • Friday, January 27, 2017
  • by rimelek
  • Repository
  • 1 Watchers
  • 0 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Description

Object-oriented LDAP Client written in PHP., (*1)

Dependencies: * PHP >= 7.0 * ldap extension, (*2)

Install via composer

latest, (*3)

php composer.phar require rimelek/ldap-client:dev-master

Latest tagged alpha:, (*4)

php composer.phar require rimelek/ldap-client:1.0.0-alpha.2

How to use

Create an LDAP instance

First of all, you need an object that knows all the connection data and some options for the native LDAP extension. The options are not required., (*5)

use Rimelek\LDAPCLient\LDAP;

$ldap = new LDAP();
$ldap->setServer('ldap.domain.tld');
$ldap->setPort(389);  // optional. Default: 389

$ldap->setManagerDn('uid=' . $user->getUsername() . ',ou=people,dc=domain,dc=tld');
$ldap->setPassword($user->getPassword());

$ldap->setScope(LDAP::SCOPE_SUB); // for search (*_ONE | *_BASE | *_SUB)
$ldap->setBaseDn('ou=people,dc=domain,dc=tld'); // for search

Create LDAP filter

An LDAP filter string follows this syntax:, (*6)

Simplest filter: (key=value)
Multiple filters:
   or: (key1=value1)|(key2>=value)
  and: (key1=value1)&(key2>=value2)
You can also negate it: 
       (!((key1=value1)&(key2>=value2)))

When you need many filters it can be hard to write. Filters are objects here., (*7)

use Rimelek\LDAPClient\Filter;
use Rimelek\LDAPClient\OrFIlter;
use Rimelek\LDAPClient\AndFilter;
/*Simplest filter:*/ $filter = new Filter('key', 'value');
/*Multiple filters:*/
  /*or:*/ 

  $filter = new OrFilter([
      new Filter('key1', 'value1'),
      new Filter('key2', 'value2', Filter::OP_GREATER_THAN),
  ]);

  /*and:*/

  $filter = new AndFilter([
      new Filter('key1', 'value1'),
      new Filter('key2', 'value2', Filter::OP_GREATER_THAN),
  ]);

/* You can also negate it: */

  $filter = new AndFilter([
      new Filter('key1', 'value1'),
      new Filter('key2', 'value2', Filter::OP_GREATER_THAN),
  ], true);

Third argument of Filter is the operator. Here are all of them:, (*8)

  • Filter::OP_EQUALITY (=)
  • Filter::OP_GREATER_THAN (>=)
  • Filter::OP_LESS_THAN (<=)
  • Filter::OP_PROXIMITY (~=)
$result = $ldap->search($filter);
$entries = $result->getEntries();

foreach ($entries as $entry) {
    $attr = $entry->getAttribute();
    echo $attr->getName() . '<br />';
    foreach ($attr as $value) {
        echo  ' - ' . $value . '<br />';   
    }
}

More information coming soon., (*9)

The Versions

27/01 2017

dev-master

9999999-dev

LDAP Client

  Sources   Download

MIT

The Requires

  • php >=7.0
  • ext-ldap *

 

27/01 2017

v1.0.0-alpha.2

1.0.0.0-alpha2

LDAP Client

  Sources   Download

MIT

The Requires

  • php >=7.0
  • ext-ldap *

 

23/01 2017

v1.0.0-alpha.1

1.0.0.0-alpha1

LDAP Client

  Sources   Download

MIT