java—无法使用spring数据ldap从ad获取自定义属性

3hvapo4f  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(421)

我正在使用spring数据ldap连接到activedirectory。我已使用域管理员用户凭据连接到ad。application.properties配置为,

spring.ldap.urls=ldap://xxx.xxx.xxx.xxx:3268
spring.ldap.username=adprofile
spring.ldap.password=Admin@123#
spring.ldap.base=DC=TEST,DC=COM
spring.data.ldap.repositories.enabled=true

我已经创建了一个存储库来获取广告数据。

@Repository
public interface EmployeeRepo extends LdapRepository<Employee> {
    List<Employee> findByCn(String cn);
    List<Employee> findBySn(String sn);
    List<Employee> findByEmployeeID(String id);
}

我的员工实体是

@Entry(base = "ou=Employees", objectClasses = {"top", "person", "organizationalPerson", "user"})
    public class Employee {
        @Id
        @JsonIgnore
        private Name id;

    public @Attribute(name = "CN") String cn;
    public @Attribute(name = "sn") String sn;
    public @Attribute(name = "EmployeeID") String employeeID;

-- getters and setters

    }

当我调用findbycn方法时,我得到了一个响应,但是employeeid将为null。如果我调用findbyemployeeid方法,我得到的是一个空响应。
有人能帮忙吗?为什么?我需要添加任何配置来获取这些自定义广告属性吗?

cfh9epnr

cfh9epnr1#

我是通过3268端口连接到广告的。似乎只有通过端口389连接到ad才能获取某些属性。

相关问题