LDAP: case sensitive distinguished names
http://www.faqs.org/rfcs/rfc2252.html
Ботать про EQUALITY.
Ботать про EQUALITY.
В общем плюнул на это и сделал суррогатный ключ.
А то, что написал - совсем не помогло?
Читаем вместе.
The distinguishedNameMatch rule compares an assertion value of the DNОткуда делаем вывод, что foo имеет какое-то хреновое EQUALITY у тебя, например, caseIgnoreMatch вместо caseExactMatch.
syntax to an attribute value of a syntax (e.g., the DN syntax) whose
corresponding ASN.1 type is DistinguishedName.
The rule evaluates to TRUE if and only if the attribute value and the
assertion value have the same number of relative distinguished names
and corresponding relative distinguished names (by position) are the
same. A relative distinguished name (RDN) of the assertion value is
the same as an RDN of the attribute value if and only if they have
the same number of attribute value assertions and each attribute
value assertion (AVA) of the first RDN is the same as the AVA of the
second RDN with the same attribute type. The order of the AVAs is
not significant. Also note that a particular attribute type may
appear in at most one AVA in an RDN. Two AVAs with the same
attribute type are the same if their values are equal according to
the equality matching rule of the attribute type. If one or more of
the AVA comparisons evaluate to Undefined and the remaining AVA
comparisons return TRUE then the distinguishedNameMatch rule
evaluates to Undefined.
Где я неправ?
Читаем вместеГде? По твоей ссылке такого текста не обнаружено.
Откуда делаем вывод, что foo имеет какое-то хреновое EQUALITY у тебя, например, caseIgnoreMatch вместо caseExactMatch.Ты что, Шерлок Холмс что ли, чтобы такое выводы делать?
Где я неправ?Ну, например, в том, что я нигде не использую distinguishedNameMatch и соответственно то, как этот match работает, меня не особо интересует.
Если интересно препираться дальше, то в приват.
А то, что написал - совсем не помогло?Нет, совсем не помогло, так как этот RFC прочитал ещё до того, как задал этот вопрос тут, и про EQUIALITY прочитал особенно тщательно.
Оставить комментарий
VitMix
Пытаюсь положить в LDAP две записи с DN типа:foo=bar,dc=example,dc=ru
foo=Bar,db=example,dc=ru
При добавлении второй записи, LDAP сервер (Sun Java System Directory Server Enterprise Edition) выдаёт ошибку, что запись уже существует. В связи с этим возникли такие вопросы:
1. Запрещает ли стандарт LDAP DN, отличающиеся только регистром? (чтение RFC не помогло прояснить этот вопрос, так что, похоже, не запрещает)
2. Есть ли LDAP-сервера, допускающие подобное?
3. Можно ли настроить SUN DSEE так, чтобы он допускал подобное?