Hippo4j 用户体系对接 LDAP 指导流程 及 实现思路
  hzIe5RkCbU7L 2023年11月15日 25 0

(目录)


Hippo4j 用户体系对接 LDAP

Feature: server add Ldap user authentication

issue:https://github.com/opengoofy/hippo4j/pull/1392

Hippo4j 接入Ldap指导

application.properties 配置文件中 , 配置下面相关信息:

image-20230720215648026

此配置文件示例在同目录下的 ldap-back.properties

# Ldap Config
spring.ldap.urls=ldap://127.0.0.1:389
spring.ldap.base=dc=xxx,dc=com
spring.ldap.embedded.credential.username=cn=xxxx,dc=xxx,dc=com
spring.ldap.embedded.credential.password=password
# Ldap Entry object-class
spring.ldap.object-class=person
# Ldap account-attribute CommonName
spring.ldap.account-attribute=cn

我的配置

# Ldap Config
spring.ldap.urls=ldap://101.43.239.60:389
spring.ldap.base=dc=panyujie,dc=com
spring.ldap.embedded.credential.username=cn=admin,dc=panyujie,dc=com
spring.ldap.embedded.credential.password=12345
# Ldap Entry object-class
spring.ldap.object-class=person
# Ldap account-attribute CommonName
spring.ldap.account-attribute=cn

参数解释:

  1. spring.ldap.urls ---> Ldap服务器ip:端口

  2. spring.ldap.base ---> Ldap域名

image-20230720213802199

  1. spring.ldap.embedded.credential.username: ---> login dn

image-20230720213936217

  1. spring.ldap.embedded.credential.password ---> login dn password

  2. spring.ldap.object-class ---> Ldap Entry object-class

image-20230720213727922

  1. spring.ldap.account-attribute ---> Ldap account-attribute (cn / uid / username / ...)

image-20230720213649299


实现细节

  1. 通过读取 application.properties 配置 Ldap服务器 相关信息
  2. 使用 spring-boot-starter-data-ldap 包下的 LdapTemplate 与 Ldap服务器交互
  3. 用户 发送请求到 Ldap的登录接口 /auth/ldap/login
  4. 如果用户是第一次登录成功 , 那么会读取Ldap服务器中的信息 ,并在数据库中创建 一个相同用户名、密码为空、权限为ROLE_USER 的用户 , 并颁发Token进行后续请求
  5. 不是第一次登录用户,那么直接走 Ldap 的 密码效验步骤 ,通过后颁发Token

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

hzIe5RkCbU7L