带有自定义属性过滤器的OpenDap搜索



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

即。(通过samaccountname=jpa搜索)

ldapsearch -x -D "CN=admin,DC=my,DC=com" -w admin -H ldap://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 -H ldap://localhost:10389 -b "ou=My Users,dc=my,dc=com" -s sub "sn=jpa" works

偶(检查samaccountname的存在):

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

有什么想法在这里有什么问题?我的目的是使用sub (samaccountname=jpa)过滤器找到给定的用户

我的配置是(使用Osixia/OpenLDAP Docker Image):

模式:

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:

DN: OU=My Users,DC=my,DC=com
OU: My Users
objectClass: organizationalUnit
DN: CN=jpa,OU=My Users,DC=my,DC=com
CN: jpa
sn: jpa
sAMAccountName: jpa
objectClass: extendedUser
userPassword: xxx

您需要在属性上定义EQUALITY。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 )

OpenLDAP模式规范

最新更新