[英]LDAP Search wildcard not working
我正在尝试搜索LDAP目录,并且当该值是一组属性和值时,无法使用子字符串过滤器进行搜索。
场景:在我的python脚本中,我能够搜索LDAP服务器。 因此,我将省略有关连接,DN配置等的代码,而将重点放在Filter
。
Filter1 :(有效)
'(&(objectClass = person)(managedObjects = CN = SKSOBHEE-MOBL,OU =移动,OU =生产,OU = Windows 7,OU = IT客户端,OU =资源,DC = emea,DC = xx,DC = yy ,DC = com)(objectClass = organizationalPerson)(objectClass = user))'
过滤条件2 :(失败)
'(&(objectClass = person)(managedObjects = CN = SKSOBHEE-MOBL *)(objectClass = organizationalPerson)(objectClass = user))'
使用Filter1搜索会返回一个用户,但是当我使用子字符串时,使用Filter2会失败。
使用以下命令完成搜索:
l.search_s(BASE_DN,SCOPE,Filter1,Attrs)
我希望对此有所帮助!
谢谢。
在询问这些类型的过滤器时,请使用子字符串代替通配符 。
使用substring
过滤器时,必须为过滤器中使用的属性定义substring
匹配规则。 对于equality
过滤器,必须有一个equality
匹配项,对于substring
过滤器, substring
匹配项等。
这是name
的属性定义的示例,该name
具有相等性和子字符串规则:
attributeTypes: ( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768}
X-ORIGIN 'RFC 4519' )
如果没有为过滤器类型包括匹配规则,则搜索将无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.