LDAP: директория для централизованного хранения данных

LDAP (Lightweight Directory Access Protocol)

LDAP – протокол доступа к каталогу, используемый для хранения и поиска информации о пользователях, ресурсах и других объектах. Он широко применяется в различных системах, где необходимо централизованное управление пользователями и данными.

LDAP предоставляет клиент-серверную модель и использует сетевой протокол TCP/IP для передачи данных. Он основан на модели X.500 и предлагает простое и эффективное решение для организации, хранения и поиска каталогов. Наиболее распространенная версия протокола - LDAPv3, которая включает ряд улучшений в сравнении с предыдущими версиями.

Примеры кода для работы с LDAP на языке Python


    import ldap

    ldap_server = 'ldap.example.com'
    ldap_port = 389

    conn = ldap.initialize(f'ldap://{ldap_server}:{ldap_port}')
    

Данный код демонстрирует подключение к серверу LDAP.


    username = 'john.doe'
    password = 'password'

    try:
        conn.simple_bind_s(f'uid={username},ou=users,dc=example,dc=com', password)
        print('Аутентификация успешна')
    except ldap.INVALID_CREDENTIALS:
        print('Неправильные учетные данные')
    except ldap.SERVER_DOWN:
        print('Сервер LDAP недоступен')
    

В этом примере происходит аутентификация пользователя.


    base_dn = 'dc=example,dc=com'
    search_filter = '(objectClass=person)'
    attributes = ['cn', 'mail']

    results = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, attributes)
    for dn, entry in results:
        cn = entry.get('cn', [])[0].decode('utf-8')
        mail = entry.get('mail', [])[0].decode('utf-8')
        print(f'CN: {cn}, Mail: {mail}')
    

Данный код демонстрирует поиск объектов в каталоге.


    new_entry = [
        ('objectClass', ['top', 'person']),
        ('cn', ['John Doe']),
        ('sn', ['Doe']),
        ('mail', ['john.doe@example.com']),
        ('userPassword', ['password']),
        ('uid', ['jdoe'])
    ]

    dn = 'uid=jdoe,ou=users,dc=example,dc=com'

    try:
        conn.add_s(dn, new_entry)
        print('Объект успешно добавлен')
    except ldap.ALREADY_EXISTS:
        print('Объект с таким dn уже существует')
    

Этот пример демонстрирует добавление нового объекта в каталог.

Это лишь некоторые примеры использования LDAP в языке Python. С помощью LDAP можно выполнять более сложные операции, такие как удаление и изменение объектов, управление атрибутами и т.д. Важно помнить, что работа с LDAP требует аутентификации и соответствующих прав доступа, чтобы обеспечить безопасность и целостность данных в каталоге.

Похожие вопросы на: "ldap "

Генератор случайных элементов
IFrame: что это такое и как использовать на сайте
Алгоритм сжатия данных Zlib
Python Factorial - вычисление факториала на языке Python
mvscr100 dll: причины возникновения и способы исправления
Python 3 try except - обработка исключений
Генерация случайных значений, чисел и данных с Randomize
Глобальные переменные C: описание, примеры и особенности
Использование CSS max width для ограничения ширины элементов и контента