КОмпонент Ldap

Компонент Ldap предоставляет способы для соединения с LDAP-сервером (OpenLDAP или Активным каталогом).

Установка

Вы можете установить компонент 2 разными способами:

Then, require the vendor/autoload.php file to enable the autoloading mechanism provided by Composer. Otherwise, your application won't be able to find the classes of this Symfony component.

Использование

Класс Ldap предоставляет методы для аутентификации и запросов к LDAP-серверу.

Класс Ldap использует AdapterInterface, чтобы общаться с LDAP-сервером. adapter для встроенного расширения LDAP PHP, к примеру, может быть сконфигурирован, используя следующие опции:

host
IP или имя хоста LDAP-сервера

port

Порт, используемый для доступа к LDAP-серверу
version
Версия LDAP-протокола для использования
useSsl
Стоит ли защищать соединение, используя SSL
useStartTls
Стоит ли защищать соединение, используя StartTLS
optReferrals
Указывает, стоит ли автоматически следовать отсылкам, возвращённым LDAP-сервером

Например, чтобы присоединиться к start-TLS защищённому LDAP-серверу:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
use Symfony\Component\Ldap\Adapter\ExtLdap\Adapter;
use Symfony\Component\Ldap\Ldap;

$adapter = new Adapter(array(
    'host' => 'my-server',
    'port' => 389,
    'encryption' => 'tls',
    'options' => array(
        'protocol_version' => 3,
        'referrals' => false,
    ),
));
$ldap = new Ldap($adapter);

Метод bind() аутентифицирует ранее сконфигурированную связь, используя как различимое имя (РИ), так и пароль пользователя:

1
2
3
// ...

$ldap->bind($dn, $password);

После привязки (или если вы включили анонимную аутентификацию на вашем LDAP-сервере), вы можете запросить LDAP-сервер, используя метод find():

1
2
3
// ...

$ldap->find('dc=symfony,dc=com', '(&(objectclass=person)(ou=Maintainers))');

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.