Skip to content

Home Администрирование Использование протокола LDAP для работы с OpenLDAP, Active Directory и другими продуктами из сценариев на языке Python
Использование протокола LDAP для работы с OpenLDAP, Active Directory и другими продуктами из сценариев на языке Python

LDAP — это новомодное словечко для большинства корпораций, а один из авторов книги даже использовал базу данных LDAP для управления своей домашней локальной сетью. Если вы не знакомы с LDAP, скажем, что эта аббревиатура расшифровывается как Lightweight Directory Access Protocol (облегченный протокол доступа к сетевому каталогу). Одно из самых удачных определений, с которыми нам приходилось сталкиваться, приводится в Википедии: «прикладной протокол, позволяющий обращаться к службе каталогов, работающий поверх протокола TCP/IP». В качестве примера одной из служб можно назвать службу аутентификации, которая, безусловно, является одним из самых популярных применений этого протокола. Примерами программных продуктов, поддерживающих протокол LDAP, могут служить Open Directory, Open LDAP, Red Hat Directory Server и Active Directory. Прикладной интерфейс python-ldap поддерживает взаимодействие с двумя продуктами - OpenLDAP и Active Directory.

Прикладной интерфейс к LDAP в языке Python называется python-ldap и включает в себя поддержку объектно-ориентированной обертки вокруг OpenLDAP 2.x. Существует также поддержка и других компонентов LDAP, включая средства обработки файлов LDIF и LDAPv3. Прежде чем начать работу с этим протоколом, вам необходимо загрузить пакет из проекта python-ldap, который находится на сайте source-forge по адресу: http://python-ldap.sourceforge.net/download.shtml.

После установки пакета python-ldap, возможно, вам потребуется сначала ознакомиться с библиотекой в оболочке IPython. Ниже приводится протокол интерактивного сеанса, где сначала вbinолнена удачная попытка подключиться к общедоступному серверу LDAP, а затем неудачная попытка. Изучение особенностей установки и настройки LDAP выходит далеко за рамки этой книги и, тем не менее, мы можем начать тестировать прикладной интерфейс пакета python-ldap, используя общедоступный сервер LDAP университета штата Мичиган.

Метод simple_bind() сообщает нам, что соединение выполнено успешно, но давайте попробуем выполнить неудачную попытку и посмотрим, как это будет выглядеть:

Как видно из этого примера, наш программный код не нашел запущенный сервер LDAP и разразился ругательствами.

Импортирование файла LDIF

Простое подключение к общедоступному серверу LDAP не настолько полезная операция, чтобы помочь нам в нашей работе. Ниже приводится пример выполнения асинхронного импорта LDIF:

В этом примере мы сначала инициализируем соединение с локальным сервером LDAP, затем создаем объект, который будет служить проекцией базы данных LDAP, и потребуется, когда мы будем вbinолнять асинхронный импорт файла LDIF. Обратите внимание, что использование метода 1. add_s() указывает, что выполняется асинхронное обращение к прикладному интерфейсу.

Это лишь самые основы совместного использования LDAP и Python, а за дополнительной информацией об использовании пакета python-ldap вам следует обращаться к ресурсу, указанному в начале этого раздела. Там, в частности, вы найдете примеры использования LDAPvS -Create, Read, Update, Delete (CRUD - создание, чтение, изменение и удаление) и многие другие.

И последнее, о чем хотелось бы упомянуть: для языка Python существует инструмент с названием web21dap, который реализует веб-интерфейс к LDAP и разработан автором пакета python-ldap. Возможно, у вас появится желание опробовать его наряду с другими альтернативными решениями управления LDAP через веб-интерфейс. Перейдя по адресу http:// www. web2 ldap. de/, вы найдете официальную документацию к этому инструменту, которая очень подробно описывает поддержку LDAPvS.

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top