4.10. Операция сравнения Compare
Операция Compare позволяет клиенту сравнить значение утверждения со значениями конкретного атрибута конкретной записи в каталоге. Запрос Compare определяется следующим образом:
CompareRequest ::= [APPLICATION 14] SEQUENCE { entry LDAPDN, ava AttributeValueAssertion }
Поля запроса Compare:
entry:
Имя записи, с атрибутом которой будет производиться сравнение. Серверу не нужно (SHALL NOT) выполнять какие-либо разыменования псевдонимов для определения местоположения этой записи.
ava:
Содержит утверждение значения атрибута, по которому будет производиться сравнение.
При получении запроса Compare сервер попытается выполнить заданное сравнение и вернуть результат в ответе Compare Response, который определяется следующим образом:
CompareResponse ::= [APPLICATION 15] LDAPResult
Результирующий код resultCode может быть устновлен в compareTrue, compareFalse или в значение, соответствующее возникшей ошибке. Код compareTrue указывает на то, что значение утверждения в поле ava совпадает со значением типа или подтипа атрибута согласно правилу соответствия EQUALITY этого атрибута. Код compareFalse указывает на то, что значение утверждения в поле ava и значение типа или подтипа атрибута не совпадают. Другие результирующие коды указывают либо на то, что результат сравнения был Undefined (раздел 4.5.1.7), либо на возникновение какой-либо ошибки.
Имейте ввиду, что некоторые системы каталогов могут устанавливать контроль доступа, разрешающий сравнения со значениями некоторых атрибутов (таких как userPassword), при этом другие действия с этими атрибутами могут быть запрещены.