1. 概述
1.1 版本
FineDataLink 版本 |
---|
4.0 |
1.2 应用场景
用户在 LDAP 认证服务器存储了较为完整的员工信息,且已经使用它进行了多个线上系统的认证。
用户希望在 FineDataLink 中能够使用同样的认证方法。
1.3 功能简介
FineDataLink 支持 LDAP 认证方式。本文介绍如何在 FineDataLink 中设置 LDAP 认证。
LDAP 认证下,用户登录时,平台会将输入的用户名信息到设置的 LDAP 系统进行认证,认证逻辑如下:
若 LDAP 系统认证失败,则平台判断认证失败;
若 LDAP 系统认证成功,但是对应的用户不存在于平台用户中,则平台判断认证失败;
若 LDAP 系统认证成功,且对应的用户存在于平台用户中,则平台判断认证成功,可进入平台,按照该用户在平台中的权限进行相应操作。
注:超级管理员不受 LDAP 认证的影响,依旧使用平台内置认证。
2. 示例
2.1 配置 LDAP 认证
1)超级管理员登录 FineDataLink ,点击「管理系统>用户管理>全局设置」,可分别为「同步用户」和「导入/添加的用户」选择认证方式。如下图所示:
2)认证方式选择「LDAP 认证」,输入各个参数,如下图所示:
LDAP 认证时各参数项说明如下表所示:
参数项 | 说明 |
---|---|
URL | URL 是登录 LDAP 服务器的入口,URL 由域名或 IP 与端口号组成,一般端口号默认为 389。URL 格式为: LDAP://域名或IP+端口号 |
检索位置 | LDAP 是一个树结构存储数据的服务器,通过 URL 进入服务器,通过用户、密码验证后,进行检索相关登录信息,「检索位置」即存储该登录信息的位置
|
认证方式 | 指定 LDAP 目录服务器所使用的认证类型,根据 LDAP 服务器的配置选择,一般认证方式选择「simple」
|
前后关系 | 初始上下文工厂的类名 一般选择「com.sun.jndi.ldap.LdapCtxFactory」-对于基于 LDAP 服务器的目录服务 |
转诊 | 根据 LDAP 服务器的配置选择,一般选择「ignore」 |
用户名后缀 | 用户名后缀可以添加也可以不添加,若添加,登录时自动添加上相应的域名。 例如 LDAP 服务器里有个用户叫Alice@fanruan.com,用户名后缀设置为@fanruan.com。 那么 FineDataLink 中的用户名为Alice,登录 FineDataLink 时的用户名也是Alice。 |
管理员名称/密码 | 此处管理员名称并非指 LDAP 服务器的管理员名称,而是指具有 LDAP 服务器检索权限的用户。通过该用户进入 LDAP 服务器对检索位置进行登录信息检索来实现认证。 通常这里采用的是「域名/用户名」的方式来进行识别。无论是 uid 或 cn 的方式都可以,但一般不使用 DN 域名的写法
|
3)参数填写完成后,点击「测试连接」,连接成功后,点击「保存」,配置认证方式完成。
注:若连接失败,则跳出提示:未能成功连接LDAP认证,请确认相关配置准确后再次保存。如下图所示:
2.2 添加用户
LDAP 服务器里一般存储着用户的员工列表,若想要其中的某用户能在平台使用 LDAP 认证登录,则需要在平台中添加一个同名用户,因为绑定邮箱、分配权限等平台操作都是以平台用户为作用对象的。
当平台中的对应用户存在时,可以认为启用 LDAP 认证只是将该平台用户的密码认证从默认的平台内置认证改成了 LDAP 服务器认证。
点击「管理系统>用户管理>添加用户」,添加用户「test001」,如下图所示:
注1:LDAP 认证配置「添加用户」时,不需要配置密码。帆软中用 123456 的默认密码来存储,实际认证走 LDAP 密码认证。
注2:同步的用户,导入/添加的用户,可分别选择不同的认证方式。
2.3 效果查看
在 FineDataLink 登录页输入 LDAP 服务器中存储的用户名、密码,点击「登录」。
若 LDAP 系统认证成功,且对应的用户存在于平台用户中,则平台判断认证成功,用户即可进入 FineDataLink ,根据自身拥有的平台权限进行相应操作。如下图所示:
注1:若在平台中不存在输入的用户名,或平台中对应的用户被禁用,或开启了平台使用用户限制且不包含用户,则不与 LDAP 服务器进行通信,直接提示「用户名或密码错误」或「用户不可用」。
注2:LDAP 服务器中存储的用户名,不可使用双字节日语、繁体中文或朝鲜文字符。否则在平台登录时提示「用户名或密码错误」。
LDAP 服务器中存储的密码,不可使用双字节日语、繁体中文、简体中文或朝鲜文字符。否则在平台登录时提示「用户名或密码错误」。
3. 配置 LDAP 认证用户名登录搜索字段
超级管理员可通过「fine_conf_entity可视化配置插件」自定义配置 LDAP 认证用户名登录搜索字段。重启服务器后设置生效。
注:修改 FineDB 数据库表字段值的方法请参考 FineDB 常用表字段修改 。
配置项 | 修改规则 |
---|---|
FSConfig.loginConfig.fWords | 参数值格式为:["值1","值2"] 参数值不允许为空,参数长度不允许为 0 参数默认值为["sAMAccountName","cn","userPrincipalName","uid","displayName","name","sn"] |