【问题标题】:Spring LDAP unable to fetch record for external recordSpring LDAP 无法获取外部记录的记录
【发布时间】:2019-08-29 13:48:44
【问题描述】:

我正在使用 LDAP 探索 spring 安全性。我有这样的代码:

String LDAP_BASE = "OU=Employees,OU=User Accounts,dc=ad,dc=mycompany,dc=com"
ldapTemplate.search(LDAP_BASE, filter.encode(),searchControls, this::myMethod, 
      pagedResultsDirContextProcessor);

this::myMethod 是一个映射器函数,它返回的实体如下:

@Entry(base = "OU=Employees,OU=User Accounts,dc=ad,dc=mycompany,dc=com",
    objectClasses = {"person", "user", "top"})
public class User {
@Id
@JsonIgnore
private Name id;
.......}

我遇到了这种安排的问题。如果用户在公司内部,则此代码正确返回用户。但如果用户是外部用户,则此代码不会返回任何结果,即使用户记录存在于 LDAP 目录中。

如何获取公司外部但在 LDAP 中的用户?

【问题讨论】:

    标签: spring-security ldap


    【解决方案1】:

    您的搜索基础是员工在目录树中的存储位置: OU=Employees,OU=User Accounts,dc=ad,dc=mycompany,dc=com.

    如果您从OU=User Accounts,dc=ad,dc=mycompany,dc=com 搜索,您应该能够找到外部用户,但这实际上取决于您公司的 LDAP 目录结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-09
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多