Spec-Zone .ru
спецификации, руководства, описания, API
|
LDAP "сравниваются", работа позволяет клиенту спрашивать сервер, есть ли у именованной записи пара атрибут/значение. Это позволяет серверу держать определенные пары атрибут/значение в секрете (то есть, не представленный для общего доступа "поиска"), все еще разрешая клиенту ограниченное использование их. Некоторые серверы могли бы использовать эту функцию для паролей, например, хотя это небезопасно для клиента, чтобы передать пароли в виде открытого текста в "сравнить" работе непосредственно.
Чтобы выполнить это в JNDI, используйте соответственно ограниченные параметры за следующие методы:
Вот an example
это вызывает LDAP, "сравнивают" работу, которая будет использоваться.
// Value of the attribute byte[] key = {(byte)0x61, (byte)0x62, (byte)0x63, (byte)0x64, (byte)0x65, (byte)0x66, (byte)0x67}; // Set up the search controls SearchControls ctls = new SearchControls(); ctls.setReturningAttributes(new String[0]); // Return no attrs ctls.setSearchScope(SearchControls.OBJECT_SCOPE); // Search object only // Invoke search method that will use the LDAP "compare" operation NamingEnumeration answer = ctx.search("cn=S. User, ou=NewHires", "(mySpecialKey={0})", new Object[]{key}, ctls);
Если сравнивание будет успешно, то получающееся перечисление будет содержать единственный элемент, имя которого является пустым названием и который не содержит атрибутов.