【问题标题】:Cannot get sambaSID from LDAP using Spring LDAP无法使用 Spring LDAP 从 LDAP 获取 sambaSID
【发布时间】:2014-01-05 16:38:04
【问题描述】:

我正在尝试根据一些用户信息在我的 LDAP 中填充一些 samba 值。 除其他外,我必须为用户创建一个“sambaSID”。 它由两个值组成:前缀是 sambaDomainName 对象的 sambaSID,后缀是 1000 + (2* uid) oder 用户。

我可以使用 ldapsearch 从我的 sambaDomainName 中看到 sambaSID 属性,如下所示:

ldapsearch -x  -D {adminUser} -W -H ldap://...:389 -b $base -s sub "sambaDomainName=TRON" sambaSID

正确提供了 adminUser 和 base。

现在,如果我尝试使用 Spring LDAP 在 Java 中做同样的事情,我会看到 SambaSID 的所有属性 except。同样的行为也发生在 LDAP 组对象上,我还需要其中的 SambaSID。

我可以阅读任何其他属性,我相信 SambaSID 有一些特别之处。

有人有什么想法吗?

提前致谢! DodoFXP

【问题讨论】:

  • 请发布您的代码以展示您如何“尝试在 Java 中使用 Spring LDAP 做同样的事情”。

标签: java ldap samba spring-ldap


【解决方案1】:

我解决了这个问题:

我正在使用 spring-ldap,创建一个 LdapContextSource,使用主体和密码对其进行配置,然后将其传递给 LdapTemplate。

LdapTemplate 不使用执行身份验证的 .getReadWriteContext()。 因此,我使用的是匿名访问。在对 getReadWriteContext() 返回的 DirContext 进行操作时,我得到了所有属性。

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

【讨论】:

    猜你喜欢
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    相关资源
    最近更新 更多