Ноу Інти, лекція, протокол ldap

Ноу Інти, лекція, протокол ldap


Мал. 13.16. область wholeSubtree

  • SizeLimit. обмеження максимальної кількості записів, що повертаються в якості результату пошуку. Значення 0 в даному полі вказує, що при пошуку немає обмеження. Сервер сам визначає максимальну кількість повертаються записів.
  • TimeLimit. обмеження, що визначає максимальний час пошуку (в секундах). Значення 0 в даному полі вказує, що обмежень за часом при запитах клієнта не існує.
  • TypesOnly. індикатор того, що результати пошуку містять і типи, і значення атрибутів або тільки типи атрибутів. При установці даного значення в TRUE будуть повертатися тільки типи атрибутів. При установці даного значення в FALSE будуть повертатися і типи, і значення атрибутів.
  • Filter. фільтр визначає умови, які повинні бути виконані. and, or і not використовуються для комбінування фільтрів. Принаймні один елемент фільтра повинен бути присутнім.

    Сервер повинен обчислити фільтри. Результатом обчислення фільтра має бути або "TRUE". або "FALSE". або "Undefined". Якщо фільтр обчислює TRUE для конкретної записи, то атрибути цього запису повертаються як частина результату пошуку. Якщо фільтр обчислює FALSE або Undefined. то даний запис при пошуку ігнорується.

    Правило відповідності для елемента фільтра equalityMatch визначається правилом відповідності EQUALITY для типу атрибута.

    Правило відповідності для AssertionValues ​​фільтра визначається правилом відповідності SUBSTR для типу атрибута.

    Правило відповідності для елементів фільтра greaterOrEqual і l essOrEqual визначається правилом відповідності ORDERING для типу атрибута.

    Семантика відповідності для елементів фільтра approxMatch визначається реалізацією.

  • Attributes. список атрибутів, що повертається для кожного запису, яка відповідає фільтру пошуку. Можуть використовуватися два спеціальних значення: порожній список без атрибутів і атрибут, описуваний рядком "*". Обидва значення свідчать про те, що повертаються всі призначені для користувача атрибути.
  • Слід зауважити, що якщо запитані всі атрибути, деякі атрибути записи можуть не включатися в результати пошуку відповідно до політики управління доступом або іншими обмеженнями. Більш того, сервери не будуть повертати атрибути виконання, такі як objectClasses або attributeTypes. якщо вони явно не перераховані.

    Результати пошуку обчислюються сервером після отримання ним SearchRequest і повертаються в Search Responses. які є LDAP-повідомленнями, що містять типи даних SearchResultEntry. або SearchResultReference. або SearchResultDone.

    Після отримання Search Request сервер буде виконувати необхідний пошук в DIT.

    Сервер може повертати як знайдені записи (SearchResultEntry), так і посилання на інші сервери для продовження пошуку (SearchResultReference).

    Для завершення пошуку клієнт може створити нову операцію пошуку для кожного отриманого SearchResultReference.

    Ноу Інти, лекція, протокол ldap


    Мал. 13.17. Приклад запиту searchRequest

    Ноу Інти, лекція, протокол ldap


    Мал. 13.18. Приклад відповіді searchResEntry

    Операція Modify дозволяє клієнту запросити модифікацію записи на сервері. Запит Modify має наступні параметри:

    • Object. модифікується об'єкт. Значення даного поля містить DN модифікується записи. Сервер не використовує ніяких alias для визначення модифікується записи.
    • Modification. список виконуваних змін. Список через трансформаційних змін повинен бути виконаний в тому порядку, в якому він перерахований, як одна атомарна операція. Хоча окремі з-трансформаційних змін можуть порушувати схему Каталогу, результуюча запис, після того як весь список змін виконаний, повинна відповідати вимогам схеми Каталогу. Значення поля operation мають наступну семантику:
      • Add. додавання перерахованих значень для даного атрибута; при необхідності атрибут створюється.
      • Delete. видалення перерахованих значень для даного атрибута; весь атрибут видаляється, якщо ніяких значень не вказано або якщо видалені всі поточні значення атрибута.
      • Replace. заміна значень даного атрибута новими; якщо атрибута не існує, він створюється. Якщо при заміні не вказані нові значення, то атрибут видаляється, якщо він є, і ігнорується, якщо атрибута не існує.

      Результат зміни, яке намагався виконати сервер при отриманні Modify Request. повертається в Modify Response.

      При отриманні Modify Request сервер виконує необхідні зміни в DIT.

      Сервер повертає клієнту єдиний Modify Response. вказує або на успішне завершення зміни DIT, або на причину невдалого завершення. Зауважимо, що в силу вимоги атомарности застосування списку змін в Modify Request. клієнт може вважати, що жодна зміна DIT не виконана, якщо отриманий Modify Response вказує на яку-небудь помилку, і що всі запитані зміни про-йшли успішно, якщо Modify Response вказує на успішне завершення операції зміни.

      Операція Modify не може бути використана для видалення із запису будь-якого повного унікального імені і тих значень, які формують відносне унікальне ім'я записи. Спроба зробити це призведе до того, що сервер поверне помилку notAllowedOnRDN. Для перейменування записи використовується операція Modify DN. яка буде описана нижче.

      Операція Add дозволяє клієнту запросити додавання запису в Каталог. Add Request має наступні параметри: