我正在尝试根据一些用户信息在LDAP中填充一些samba值。 除此之外,我还要为用户创建一个'sambaSID'。 它由两个值组成:前缀是sambaDomainName对象的sambaSID,后缀是用户的1000 +(2 * uid)。
我可以使用ldapsearch从我的sambaDomainName中看到sambaSID属性,如下所示:
ldapsearch -x -D {adminUser} -W -H ldap://...:389 -b $base -s sub "sambaDomainName=TRON" sambaSID
正确提供了adminUser和base。
现在,如果我尝试使用Spring LDAP在Java中执行相同的操作,我会看到SambaSID的所有属性除了。对于LDAP组对象也会发生相同的行为,我还需要SambaSID。
由于我可以阅读任何其他财产,我相信SambaSID有一些特别之处。
有没有人有任何想法?
提前致谢! DodoFXP
答案 0 :(得分:0)
我解决了这个问题:
我正在使用spring-ldap,创建一个LdapContextSource,使用主体和密码对其进行配置,然后将其传递给LdapTemplate。
LdapTemplate不使用执行身份验证的.getReadWriteContext()。 因此,我使用的是匿名访问。当对getReadWriteContext()返回的DirContext进行操作时,我得到所有属性。
另外,身份验证已在LDAP上重新启用,因此匿名现在显示更少的属性。