Update plugin doc
This commit is contained in:
99
doc/plugin-ldap-client.markdown
Normal file
99
doc/plugin-ldap-client.markdown
Normal file
@@ -0,0 +1,99 @@
|
||||
LDAP Library
|
||||
============
|
||||
|
||||
To facilitate LDAP integrations, Kanboard have its own LDAP library.
|
||||
This library can perform common operations.
|
||||
|
||||
Client
|
||||
------
|
||||
|
||||
Class: `Kanboard\Core\Ldap\Client`
|
||||
|
||||
To connect to your LDAP server easily, use this method:
|
||||
|
||||
```php
|
||||
use Kanboard\Core\Ldap\Client as LdapClient;
|
||||
use Kanboard\Core\Ldap\ClientException as LdapException;
|
||||
|
||||
try {
|
||||
$client = LdapClient::connect();
|
||||
|
||||
// Get native LDAP resource
|
||||
$resource = $client->getConnection();
|
||||
|
||||
// ...
|
||||
|
||||
} catch (LdapException $e) {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
LDAP Queries
|
||||
------------
|
||||
|
||||
Classes:
|
||||
|
||||
- `Kanboard\Core\Ldap\Query`
|
||||
- `Kanboard\Core\Ldap\Entries`
|
||||
- `Kanboard\Core\Ldap\Entry`
|
||||
|
||||
Example to query the LDAP directory:
|
||||
|
||||
```php
|
||||
|
||||
$query = new Query($client)
|
||||
$query->execute('ou=People,dc=kanboard,dc=local', 'uid=my_user', array('cn', 'mail'));
|
||||
|
||||
if ($query->hasResult()) {
|
||||
$entries = $query->getEntries(); // Return an instance of Entries
|
||||
}
|
||||
```
|
||||
|
||||
Read one entry:
|
||||
|
||||
```php
|
||||
$firstEntry = $query->getEntries()->getFirstEntry();
|
||||
$email = $firstEntry->getFirstValue('mail');
|
||||
$name = $firstEntry->getFirstValue('cn', 'Default Name');
|
||||
```
|
||||
|
||||
Read multiple entries:
|
||||
|
||||
```php
|
||||
foreach ($query->getEntries()->getAll() as $entry) {
|
||||
$emails = $entry->getAll('mail'); // Fetch all emails
|
||||
$dn = $entry->getDn(); // Get LDAP DN of this user
|
||||
|
||||
// Check if a value is present for an attribute
|
||||
if ($entry->hasValue('mail', 'user2@localhost')) {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
User Helper
|
||||
-----------
|
||||
|
||||
Class: `Kanboard\Core\Ldap\User`
|
||||
|
||||
Fetch a single user in one line:
|
||||
|
||||
```php
|
||||
// Return an instance of LdapUserProvider
|
||||
$user = User::getUser($client, 'my_username');
|
||||
```
|
||||
|
||||
Group Helper
|
||||
------------
|
||||
|
||||
Class: `Kanboard\Core\Ldap\Group`
|
||||
|
||||
Fetch groups in one line:
|
||||
|
||||
```php
|
||||
// Define LDAP filter
|
||||
$filter = '(&(objectClass=group)(sAMAccountName=My group*))';
|
||||
|
||||
// Return a list of LdapGroupProvider
|
||||
$groups = Group::getGroups($client, $filter);
|
||||
```
|
||||
Reference in New Issue
Block a user