Java 无法使用SpringLDAP从LDAP获取sambaSID

Java 无法使用SpringLDAP从LDAP获取sambaSID,java,ldap,samba,spring-ldap,Java,Ldap,Samba,Spring Ldap,我试图根据一些用户信息在LDAP中填充一些samba值。 除此之外,我必须为用户创建一个“sambaSID”。 它由两个值组成:前缀是sambaDomainName对象的sambaSID,后缀是用户的1000+(2*uid) 我可以使用ldapsearch从sambaDomainName中看到sambaSID属性,如下所示: ldapsearch -x -D {adminUser} -W -H ldap://...:389 -b $base -s sub "sambaDomainName=TR

我试图根据一些用户信息在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

现在,如果我尝试使用SpringLDAP在Java中执行同样的操作,我会看到除SambaSID之外的所有属性。LDAP组对象也会发生同样的行为,我还需要SambaSID

正如我可以阅读任何其他属性一样,我相信SambaSID有一些特殊之处

有人有什么想法吗

提前谢谢! DodoFXP

我解决了这个问题:

我正在使用SpringLDAP,创建一个LdapContextSource,使用主体和密码配置它,然后将其传递给LdapTemplate

LdapTemplate不使用执行身份验证的.getReadWriteContext()。 因此,我使用匿名访问。对getReadWriteContext()返回的DirContext执行操作时,我会获取所有属性


另外,LDAP上的身份验证已重新启用,因此“匿名”现在显示的属性更少。

请发布您的代码,说明您如何“尝试使用Spring LDAP在Java中执行相同的操作”。