Recommend this page to a friend! |
![]() |
Info | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 714 | All time: 4,630 This week: 660![]() |
Version | License | PHP version | Categories | |||
simple-ldap 0.1 | BSD License | 5.0 | Networking, PHP 5, User Management |
Description | Author | |||||||||||||
This class can manage the records of users in an LDAP server. |
|
SimpleLDAP is a small library that implements an abstraction layer for LDAP server communication using PHP. It makes your life easier when you need to authenticate users through an LDAP server and/or when you need to perform CRUD actions on it. It's meant to be simple and easy to use. If you need more robust solutions, feel free to expand from SimpleLDAP and create... well, ComplexLDAP.
SimpleLDAP is currently under development by the community and is just starting. Feel free to suggest improvements and provide heavy feedback. We really want to hear it! (Seriously, we do!)
The idea behind SimpleLDAP is to keep things very easy to use, without headaches. In order to start using SimpleLDAP, you'll have to provide a few details, otherwise it won't be able to do it's magic.
$ldap = new LDAP('192.168.0.1', 389, 3); // Host, port and server protocol (this one is optional)
$ldap->dn = 'ou=users,dc=demo,dc=com'; // The default DN (Distinguished Name)
That's it. Now you're able to connect and authenticate to an LDAP server.
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
print_r($ldap->auth('demo', 123456));
The auth method will return the user information as an array if the authentication is successful, and false if it wasn't.
If you want to perform administrative actions on the server, such as CRUD, you'll have to bind as an user with administrative rights. That's what the ADN and APass properties are for. They are required for the CRUD actions to be performed correctly.
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
$ldap->adn = 'cn=admin,dc=demo,dc=com';
$ldap->apass = '987654';
Now you can add, remove, modify and list users on the server.
You can list users based on a filter and SimpleLDAP will return an array with information about each users that matched that filter. You can read more about those filters here: http://www.mozilla.org/directory/csdk-docs/filter.htm
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
$ldap->adn = 'cn=admin,dc=demo,dc=com';
$ldap->apass = '987654';
print_r($ldap->getUsers('(!(description=warcraft))'));
In order to create users, you just need to pass the username you want to create and it's directory information. The directory information should be inside an array.
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
$ldap->adn = 'cn=admin,dc=demo,dc=com';
$ldap->apass = '987654';
$data['cn'][] = 'James';
$data['sn'][] = 'Bond';
$data['uid'][] = 'james';
$data['userpassword'][] = '123456';
$ldap->addUser('james', $data);
In order to remove users, you just need to pass the username you want to remove.
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
$ldap->adn = 'cn=admin,dc=demo,dc=com';
$ldap->apass = '987654';
$ldap->removeUser('james');
In order to modify users, you just need to pass the username you want to modify and the new information.
$ldap = new LDAP('192.168.0.1', 389, 3);
$ldap->dn = 'ou=users,dc=demo,dc=com';
$ldap->adn = 'cn=admin,dc=demo,dc=com';
$ldap->apass = '987654';
$data['sn'][] = 'Bonded';
$ldap->modifyUser('james', $data);
![]() |
File | Role | Description |
---|---|---|
![]() ![]() |
Lic. | License information |
![]() ![]() |
Doc. | Library documentation |
![]() ![]() |
Class | SimpleLDAP library |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
0% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.