美文网首页
ldap客户端 spring boot ldap

ldap客户端 spring boot ldap

作者: 一个人一匹马 | 来源:发表于2019-06-15 16:47 被阅读0次

    1.下载客户端软件 可以更方便的看清目录结构

    Apache Directory Studio
    

    2.搭建springboot工程
    3.引入jar包

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-ldap</artifactId>
    </dependency>
    

    4.配置文件

    spring.ldap.urls=ldaps://ip:636(ldap://ip:389)
    spring.ldap.base=windows(OU=vvv,DC=qq,DC=hh,DC=com) 和 Linux (DC=qq,DC=hh,DC=com)有点区别
    spring.ldap.username=windows(主机用户名@根域名) 和 Linux(cn=admin,dc=qq,dc=hh,dc=com)
    spring.ldap.password=
    

    5.增删改查

    实体类

    @Data
    @Entry(base = "OU=user", objectClasses = {"user", "top", "person", "organizationalPerson"})
    public class Person {
    
    // dn路径
    @Id
    @JsonIgnore
    private Name dn;
    
    // 常用名 暂定为账号
    @Attribute(name = "cn")
    @DnAttribute(value = "CN", index = 1)
    private String accountName;
    
    // 真实用户名
    @Attribute(name = "sn")
    private String userName;
    
    // 密码 加密后的 根据ldap加密规则处理
    @Attribute(name = "unicodePwd")
    private String userPassword;
    }
    
    @Data
    @Entry(base = "OU=group", objectClasses = {"top", "group"})
    public class Orign {
    
    // dn路径
    @Id
    @JsonIgnore
    private Name dn;
    
    private String name;
    
    private List<Name> member;
    }
    

    dao层

    public interface PersonRepository extends CrudRepository<Person, Name> {
    }
    

    controller
    查询所有用户

     @GetMapping(value = "/person")
     public JsonResult findAll() {
        Iterable<Person> all = personRepository.findAll();
        return new JsonResult(all);
    }
    

    添加用户

    添加用户时不要给用户设置dn。
    如果用户和组织有关联关系时,先把用户保存,然后再通过组织的dn查询组织,然后获取组织的member(集合),然后再把用户dn添加到组织的member,再调用保存方法。
    

    修改用户

    修改用户时传dn,直接调用保存方法(根有无dn接口自动判断增还是修)

    相关文章

      网友评论

          本文标题:ldap客户端 spring boot ldap

          本文链接:https://www.haomeiwen.com/subject/seibfctx.html