具有自定义属性筛选器的LDAP搜索

具有自定义属性筛选器的LDAP搜索,ldap,openldap,Ldap,Openldap,给定自定义属性上定义的筛选器,我在LDAP树中查找特定条目时遇到问题 attributetype ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 EQUALITY caseIgnoreMatch SINGLE-VALUE USAGE userApplications ) 即(通过samaccountname=jpa搜索) ldapsearch-

给定自定义属性上定义的筛选器,我在LDAP树中查找特定条目时遇到问题

attributetype ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
    EQUALITY caseIgnoreMatch
    SINGLE-VALUE
    USAGE userApplications )
即(通过
samaccountname=jpa搜索)

ldapsearch-x-D“CN=admin,DC=my,DC=com”-w admin-Hldap://localhost:10389 -b“ou=My Users,dc=My,dc=com”-s sub“samaccountname=jpa”
不起作用(不返回结果)

鉴于(搜索
sn=jpa
):

ldapsearch-x-D“CN=admin,DC=my,DC=com”-w admin-Hldap://localhost:10389 -b“ou=My用户,dc=My,dc=com”-s sub“sn=jpa”
有效

偶数(检查是否存在samaccountname):

ldapsearch-x-D“CN=admin,DC=my,DC=com”-w admin-Hldap://localhost:10389 -b“ou=My Users,dc=My,dc=com”-s sub“samaccountname=*”
works

你知道这里有什么不对吗?我的目的是使用
sub(samaccountname=jpa)
filter查找给定用户

我的配置是(使用osixia/openldap docker映像):

模式:

attributetype ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
    SINGLE-VALUE
    USAGE userApplications )

objectclass ( 2.5.6.30 NAME 'extendedUser'
    SUP person
    STRUCTURAL
    MUST ( sAMAccountName ) )
ACL的:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: to * by * read
本地设计院(LDIF):


您需要在属性上定义一个
等式。LDAP目前不知道如何对该属性执行搜索

attributetype ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
    EQUALITY caseIgnoreMatch
    SINGLE-VALUE
    USAGE userApplications )

好的,谢谢你的提示!我不得不将它改为'EQUALITY caseIgnoreMatch',因为前者导致了一个错误,说“AttributeType不适当的匹配规则:caseIgnoreSubstringsMatch”-但最后它成功了