Фильтр CFLDAP со знаком равенства - PullRequest
0 голосов
/ 14 декабря 2011

Я застрял в проблеме, когда мне нужно сделать фильтр, чтобы найти DN, у которого нет строки "DC = blah".

, поэтому у меня есть:

(!(distinguishedName='*DC=blah*'))

Но это не очень хорошо.

Помогите, пожалуйста!

РЕДАКТИРОВАТЬ: Извините, я забыл поставить звездочку в строке поиска.

Ответы [ 3 ]

1 голос
/ 14 декабря 2011

Отличный вопрос. Фильтр отрицания вы ищете (!(distinguishedName=dc=blah*)). Обратная косая черта не может использоваться в утверждении, если за ней не следуют два шестнадцатеричных символа. Кавычки не нужны, если они не являются частью утверждения.

Это будет работать, если distinguishedName является атрибутом. В противном случае компоненты DN должны использоваться в расширяемом фильтре соответствий. Для получения дополнительной информации см. «LDAP: ldapsearch» , «LDAP: освоение фильтров поиска» и «LDAP: Практика программирования» .

0 голосов
/ 16 декабря 2011

Казалось, что НЕТ СПОСОБА фильтровать DN так, как мне нравится, поэтому мне пришлось использовать второй метод фильтрации с использованием CFQUERY.

<cfquery dbtype="query" name="secondFilter">
SELECT * FROM firstFilter WHERE dn NOT LIKE '%DC=blah%'
</cfquery>
0 голосов
/ 14 декабря 2011

Я не могу проверить это здесь, но, возможно, попробуйте это

(!(distinguishedName='DC\=blah'))
...