(目录)
Hippo4j 用户体系对接 LDAP
Feature: server add Ldap user authentication
issue:https://github.com/opengoofy/hippo4j/pull/1392
Hippo4j 接入Ldap指导
在 application.properties 配置文件中 , 配置下面相关信息:
此配置文件示例在同目录下的 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
参数解释:
spring.ldap.urls ---> Ldap服务器ip:端口
spring.ldap.base ---> Ldap域名
- spring.ldap.embedded.credential.username: ---> login dn
spring.ldap.embedded.credential.password ---> login dn password
spring.ldap.object-class ---> Ldap Entry object-class
- spring.ldap.account-attribute ---> Ldap account-attribute (cn / uid / username / ...)
实现细节
- 通过读取 application.properties 配置 Ldap服务器 相关信息
- 使用 spring-boot-starter-data-ldap 包下的 LdapTemplate 与 Ldap服务器交互
- 用户 发送请求到 Ldap的登录接口 /auth/ldap/login
- 如果用户是第一次登录成功 , 那么会读取Ldap服务器中的信息 ,并在数据库中创建 一个相同用户名、密码为空、权限为ROLE_USER 的用户 , 并颁发Token进行后续请求
- 不是第一次登录用户,那么直接走 Ldap 的 密码效验步骤 ,通过后颁发Token
标签:attribute,account,Hippo4j,spring,ldap,对接,dc,Ldap,LDAP From: https://blog.51cto.com/panyujie/8376282