mikebywater / ldap
My simple, crude LDAP package
dev-master
2016-03-30 20:29 UTC
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is auto-updated.
Last update: 2025-03-29 00:17:22 UTC
README
Installation
Composer
To install simply put the following in your composer json file
"require": {
"mikebywater/ldap": "dev-master"
},
next simply run
composer update
Parameters
ldap relies on global variables being set.
Laravel
In Laravel simply set the variables below in the .env file
LDAP_SERVER =server.example.com LDAP_DOMAIN=mydomain LDAP_BASE_DSN=dc=example,dc=com LDAP_ADMIN_USER=admin LDAP_ADMIN_PASSWORD=password
Usage
Authenticating a user
use mikebywater\LDAP\LDAP as LDAP; $ldap = new LDAP(); $username = 'testmember'; $password = 'test123'; if($ldap->authenticate($username,$password)) { echo "Authenticated"; } else { echo "Invalid Credentials"; }
Searching LDAP
use mikebywater\LDAP\LDAP as LDAP; // Instantiate object $ldap = new LDAP(); $username = "george.land"; // Method chaining allows us to bind to ldap, apply an ldap filter and get the first result $entry = $ldap->bind()->filter("sAMAccountName=$username")->get()->first();
Extracting user Details from an entry
By using the LDAPUser class we can get user details from an entry
use mikebywater\LDAP\LDAPUser as LDAPUser; // Instantiating the object requires you to pass your ldap connection and the entry // from the previous example $user = new LDAPUser($ldap->conn, $entry); $name = $user->getName(); //special function for display name $email = $user->getEmail(); //special function foe mail attributes $company= $user->__get('company')[0]; // any other attribute can be grabbed with magic get method (beware will return an array) $description= $user->__get('description')[0];