# LDAP 配置

# 视图配置页面

platform_config_page

# 配置页面

# 配置页面地址

{porject_base_url}/#/base/page-making/ldap_conf

页面配置完成后, 数据存储在 portal_base_parameter 表中, param_key=ldap_configuration

# 基础信息

主要配置 LDAP 连接信息及登录验证信息

ldap_config_page_base

  • 公司代码: LDAP 用户登录的公司代码
  • ldap 连接: 配置 ldap 连接信息, 可配置多个
    • 连接名称: ldap 连接名称
    • 连接 url: ldap 连接 url
    • 用户名: ldap 连接用户名(用于验证 LDAP 连接/同步用户/同步部门, 非必填)
    • 密码: ldap 连接密码(用于验证 LDAP 连接/同步用户/同步部门, 非必填)
    • 基础 DN: 配置当前项目获取 ldap 信息的基础目录
    • 操作按钮:
      • 删除连接
      • 测试连接(测试 ldap 连接配置是否正确)
  • 用户认证条件: 用于用户认证时的过滤条件, ${username}为定义的注入变量, 认证时注入登录用户名
  • 用户属性名称: ldap 中用户名的属性名, 用于查询用户是否存
  • iis 服务 url: 使用 iis 服务完成自动登录时的配置
  • 测试连接:
    • 验证用户密码认证: 输入用户名\密码, 验证配置是否可正常根据用户名密码校验
    • 验证自动登录认证: 使用 iis 服务时, 认证用户名, 校验用户是否在 ldap 中

# 同步部门配置

用于配置同步 ldap 中部门信息

ldap_config_page_dept

  • 部门筛选条件: 获取 ldap 中部门信息的筛选条件
  • dn 属性名称: ldap 中结构路径的属性名, 用于获取部门的父级部门 ldap_dept_dn
  • 默认属性: 获取 ldap 部门属性, 转换为 com.efast.cafe.portal.entity.company.PortalCompanyOrg 对象时, 定义 PortalCompanyOrg 的默认属性值
  • 映射属性: 获取 ldap 部门属性, 转换为 com.efast.cafe.portal.entity.company.PortalCompanyOrg 对象时, 定义 ldap 属性与 PortalCompanyOrg 属性的映射关系
  • 测试同步部门: 测试获取部门信息, 可打开控制台, 查看请求返回数据是否正确
  • 同步部门: 同步 ldap 中的部门

# 同步用户配置

用于配置同步 ldap 中用户信息

ldap_config_page_user

  • 用户筛选条件: 获取 ldap 中用户信息的筛选条件
  • dn 属性名称: ldap 中结构路径的属性名, 用于获取用户所在部门信息, 同部门配置的 dn 属性名称
  • 默认属性: 获取 ldap 用户属性, 转换为 com.efast.cafe.portal.bean.company.PortalCompanyUserAddEditBean 对象时, 定义 PortalCompanyUserAddEditBean 对象时的默认属性值
  • 映射属性: 获取 ldap 用户属性, 转换为 com.efast.cafe.portal.bean.company.PortalCompanyUserAddEditBean 对象时, 定义 ldap 属性与 PortalCompanyUserAddEditBean 对象时属性的映射关系
  • 测试同步用户: 测试获取用户信息, 可打开控制台, 查看请求返回数据是否正确
  • 同步用户: 同步 ldap 中的用户

# ldap 后端代码路径

  1. controller: com.efast.cafe.portal.controller.ldap.LdapController
  2. service: com.efast.cafe.commponent.core.impl.ldap.service.impl.ILdapServiceImpl

# 登录配置

# ldap 手动认证登录配置

用户手动输入用户名密码, 调用登录接口, 后端与 ldap 服务做认证

  1. 登录认证类: com.efast.cafe.commponent.core.impl.ldap.LdapLoginAuthenticationProcessor
  2. application.properties 配置
#是否启用该登录方式
auth.ldap.enable = true
#登录接口路径
auth.ldap.loginPath = /auth/manageLogin
#登录接口loginType参数值
auth.ldap.loginType = ldap
  1. 登录接口

    • 接口地址: http://127.0.0.1:8080/cafe.portal-service/auth/manageLogin

      接口 url 构成: {服务模块 url}/{auth.ldap.loginPath}

    • 接口参数:

      参数类型: query param

      参数名 类型 说明
      loginType string 登录方式, 值为配置参数 auth.ldap.loginType
      ldap_username string ldap 登录用户名
      ldap_password string ldap 登录密码
      companyCode string ldap 登录用户公司代码
    • postman调用示例 ldap_login_postman

# ldap 自动认证登录

结合 iss 服务, 页面先请求 iis 服务认证, 获取当前机器用户名, 在调用系统后端登录接口, 后端认证用户名是否存在 ldap 中, 完成登录

  1. 登录认证类: com.efast.cafe.commponent.core.impl.ldap.LdapAutoLoginAuthenticationProcessor

  2. application.properties 配置

    auth.ldap_auto.enable = true
    auth.ldap_auto.loginPath = /auth/manageLogin
    auth.ldap_auto.loginType = ldapAuto
    
  3. 登录接口

    • 接口地址: http://127.0.0.1:8080/cafe.portal-service/auth/manageLogin

    • 接口参数:

      参数类型: query param

      参数名 类型 说明
      loginType string 登录方式, 值为配置参数 auth.ldap.loginType
      ldap_username string ldap 登录用户名
      companyCode string ldap 登录用户公司代码
    • postman 调用示例: ldap_auto_login_postman

  4. 已实现的前端页面路径: src\screens\classical\login\ldapLogin.vue