我遇到了一个问题,我需要制作一个过滤器来查找没有“DC = blah”字符串的DN。
所以我有:
(!(distinguishedName='*DC=blah*'))
但这并没有顺利通过。
请帮忙!
编辑:抱歉,我忘了在搜索字符串中加上星号。答案 0 :(得分:1)
一个很好的问题。您寻求的否定过滤器是(!(distinguishedName=dc=blah*))
。除非后跟两个十六进制字符,否则不能在断言中使用反斜杠。除非它们是断言的一部分,否则引号是没有必要的。
如果distinguishedName
是属性,这将有效。否则,必须在可扩展匹配过滤器中使用DN组件。有关详情,请参阅"LDAP: ldapsearch","LDAP: Mastering search filters"和"LDAP: Programming Practices"。
答案 1 :(得分:0)
我不能在这里测试,但也许可以试试这个
(!(distinguishedName='DC\=blah'))
答案 2 :(得分:0)
似乎没有办法让DN过滤到我喜欢的方式,所以我不得不使用CFQUERY的第二种过滤方法。
<cfquery dbtype="query" name="secondFilter">
SELECT * FROM firstFilter WHERE dn NOT LIKE '%DC=blah%'
</cfquery>