繁体   English   中英

LDAP搜索通配符不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM