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

Мал. 13.16. область wholeSubtree
Сервер повинен обчислити фільтри. Результатом обчислення фільтра має бути або "TRUE". або "FALSE". або "Undefined". Якщо фільтр обчислює TRUE для конкретної записи, то атрибути цього запису повертаються як частина результату пошуку. Якщо фільтр обчислює FALSE або Undefined. то даний запис при пошуку ігнорується.
Правило відповідності для елемента фільтра equalityMatch визначається правилом відповідності EQUALITY для типу атрибута.
Правило відповідності для AssertionValues фільтра визначається правилом відповідності SUBSTR для типу атрибута.
Правило відповідності для елементів фільтра greaterOrEqual і l essOrEqual визначається правилом відповідності ORDERING для типу атрибута.
Семантика відповідності для елементів фільтра approxMatch визначається реалізацією.
Слід зауважити, що якщо запитані всі атрибути, деякі атрибути записи можуть не включатися в результати пошуку відповідно до політики управління доступом або іншими обмеженнями. Більш того, сервери не будуть повертати атрибути виконання, такі як objectClasses або attributeTypes. якщо вони явно не перераховані.
Результати пошуку обчислюються сервером після отримання ним SearchRequest і повертаються в Search Responses. які є LDAP-повідомленнями, що містять типи даних SearchResultEntry. або SearchResultReference. або SearchResultDone.
Після отримання Search Request сервер буде виконувати необхідний пошук в DIT.
Сервер може повертати як знайдені записи (SearchResultEntry), так і посилання на інші сервери для продовження пошуку (SearchResultReference).
Для завершення пошуку клієнт може створити нову операцію пошуку для кожного отриманого SearchResultReference.

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

Мал. 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 має наступні параметри: