历史版本22 :LDAP 认证 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述 编辑

在实际的应用中,用户在使用我们的数据决策系统时,越来越多的倾向于使用 LDAP 来进行多系统的用户统一认证,平台内置了用户认证功能。

LDAP 认证,用户登录的时候,平台拿用户名信息到设置的 LDAP 系统进行认证。

若 LDAP 系统认证失败,则平台判断认证失败;

若 LDAP 系统认证成功,但是对应的用户不存在于fs平台的用户中,则平台判断认证失败;

若 LDAP 系统认证成功,且对应的用户存在于fs平台的用户中,则平台判断认证成功,可进入 fs 平台、按照该用户在平台中的权限进行相应操作。

进入决策系统,点击管理系统>用户管理>设置标签,可以选择身份验证方式,如下图:

222

2. LDAP 认证编辑

选中LDAP认证,输入各个参数,如下图配置:

222

1)URL

URL 是登录 LDAP 服务器的入口,URL 由域名或 IP 与端口号组成,一般端口号默认为 389;写法 LDAP://域名或IP+端口号

2)检索位置

LDAP 是一个树结构存储数据的服务器,通过URL进入服务器,通过用户、密码验证后,进行检索相关登录信息。检索位置即存储该登录信息的位置,如上图写的方式为 LDAP 专用的”域名方式”。

默认勾选不将检索位置作为 BaseDN只写到根目录会自动检索其下面的子目录,但其效率比较低。

不勾选不将检索位置作为 BaseDN:从根目录一直写到子目录,不需要检索,速度会快一些。

3)认证方式

指定 LDAP 目录服务器所使用的认证类型。根据  LDAP 服务器的配置选择,一般认证方式选择 simple 就可以。

4)前后关系

初始上下文工厂的类名

一般选择 com.sun.jndi.ldap.LdapCtxFactory-对于基于 LDAP 服务器的目录服务.

5)转诊

根据  LDAP 服务器的配置选择,一般选择 follow 即可。

6)用户名后缀

用户名后缀可以添加也可以不添加,添加的时候,登录时也要添加上相应的域名,比如说 name@finereport.com,如果使用的后缀域名,登录不成功,则可以尝试不使用后缀设置。

7)管理员名称/密码

此处管理员名称并非指 LDAP 服务器的管理员名称,而是指具有 LDAP 服务器检索权限的用户。通过该用户进入 LDAP 服务器对检索位置进行登录信息检索来实现认证。通常这里采用的是域名/用户名的方式来进行识别。无论是 uid 或 cn 的方式都可以,但一般不使用 DN 域名的写法。

注:假如管理员名称处填写的并非 LDAP 服务器管理员名称,那建议加上用户所对应的后缀,如检索位置为 DC=fr,DC=test,DC=com,那么普通用户后缀为 test001@fr.test.com;

注:假如是 LDAP 服务器管理员名称,直接填写名称即可,如上述示例中的 administrator。建议域账号加入后缀,如 Administrator@fr.test.com

点击保存按钮,退出决策平台,需重新登录。

至此,LDAP 认证即配置完成了。

2.1 添加用户

在问题描述中讲述了,如果 LDAP 认证成功,但是平台中没有存储该用户,那么平台同样认证失败,那么配置好 LDAP 之后,还需要给数据决策系统添加用户,具体的添加方式有两种:

直接添加:详细请参照 手动添加用户

同步数据集添加:详细请参照 用户同步数据集

这里手动添加了一个用户:test001,如下图:

222

注:LDAP 认证配置用户时,不需要密码一项


2.2 效果测试

若 LDAP 系统认证成功,且对应的用户存在于fs平台的用户中,则平台判断认证成功,可进入 fs 平台、按照该用户在平台中的权限进行相应操作。

222

3. 注意事项编辑

场景描述:

FineReport 由 9.0 升级到 10.0 之后,用户使用LDAP认证登录失败,登录页面显示报错信息username does not exist。原因分析如下:

9.0 升级到 10.0 后 LDAP 登录认证逻辑发生了改变。

以用户名 User,LDAP 认证后缀 fr.com 为例对认证逻辑进行分析:

Version 9.0:首先将用户名 User 加上后缀 fr.com 检索平台是否存在该用户,然后进行 LDAP 认证流程。

Version 10.0:首先根据用户名 User 检索是否存在该用户,然后再加上后缀 fr.com 进行LDAP认证流程。

解决方案:

方案一:将用户管理下 LDAP 配置页面的用户名后缀去掉不用,用户使用用户名@后缀名即可正常登录。

方案二:将每个用户的用户后缀名都去掉,用户使用用户名即可正常登录。

4.10.0LDAP认证流程编辑

image.png

1.URL、检索位置、用户名后缀、管理员名称、密码找对应人员提供。

配置完成后点击保存。

2.添加用户

测试配置的LDAP域账号是否正确,手动添加域里面存在的用户,添加后点击确定,退出当前账号,用手动添加的账号登录,最终结果顺利登录平台,及LDAP测试通过。如下图测试:

image.png


3.同步LDAP域用户信息,如下图:

如果AD域对应的是数据库,那么可以在帆软的开发工具直接通过对应的连接信息,进行配置,在决策平台同步用户即可。

目前AD域的用户信息是一个文件,就不可采取这种方式,我们采取的是写程序代码的方式。

首先编写好java代码,在本地编译好class类,再把对应的class类放到对应的com/fr/data/这个路径下,如下图:

image.png

4.打开设计器,连接上服务器环境,配置服务器环境如下图:

image.png

然后打开配置工作目录,点击“+”添加远程服务器,配置对应的主机名、用户名、密码等,测试连接,然后确定。

5.点击“服务器”–“定义服务器数据集”–添加“程序”数据集,选择刚上传的文件,如下图:

image.png

6.点击编辑,将java代码拷贝进去,点击编译--保存--确定,如下图:

image.png

7.重启tomcat,登录决策系统平台,点击管理系统–用户管理,如下图:

image.png

8.进行同步AD域用户,点击同步用户弹出同步用户页面,选择配置的程序数据集、用户名以及姓名等,然后点击确定,用户就开始同步了,如下图:

image.png


注意:1.在第一次同步用户的时候,需注意耐心等待,执行滚动条不明显。

           2.在执行时,在telnet一下提供的ip地址是否是连通的。