1. 描述

企业职工人数是相当多的,都通过手动添加,工作量将会很大。而实际情况下,已经将用户职务信息保存在数据库或者Excel中了,希望能够直接将用户信息导入到决策系统中。

2. 解决方案

首先将用户信息表定义为服务器数据集,然后在FineBI商务智能系统中“开启数据集同步”就可以将已有的用户信息直接导入到决策支持系统中。
注:开启了数据集同步后,用户信息将跟随数据集同步,动态改变、实时更新,即若数据库信息改变后,决策系统中的用户信息也会随之改变。

3. 实现步骤

登陆数据决策系统http://ip:端口/appName/ReportServer?op=fs,使用管理员账号登陆。

3.1 添加服务器数据集
点击管理系统>BI数据源配置>设置,在服务器数据集配置面板添加一个服务器数据集员工信息表,数据来源于数据库的员工信息表,该表中包含了用户名、部门、职务信息,如下图:

FineBI商务智能系统添加服务器数据集

3.2 开启数据集同步
点击管理系统>用户,进入FineBI商务智能用户配置界面,点击开启数据集同步

 

FineBI商务智能系统添加开启数据集同步

点击开启数据集同步之后需重新登陆,再次点击管理系统>用户,点击配置同步数据集

注:开启数据集同步后要重新登录,原因是切换了登录的方式,原先的登录数据需要清除,如果不重新登录会产生很多无法估计的错误,比如多人登录时由于登录方式切换,各种参数的保存位置会发生混乱等。
弹出配置同步数据集对话框,为数据决策系统的用户信息绑定字段,如下图:

FineBI商务智能系统配置同步数据集

注:如果需要同步部门间层级关系,则需要选择按照部门层级构建的树数据集,详见从数据库导入部门间层级关系。

  • 密码加密

FineBI商务智能系统密码加密方式有三种:不设置密码加密,自定义密码加密,内置MD5加密。
自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%BI_Home%\WebReport\WEB-INF\classes文件夹中。

FineBI商务智能系统密码加密

注:自定义加密算法,不管该算法的具体方式是什么,都必须继承FineReport的AbstractPasswordValidator类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。
自定义加密示例请查看权限加密之简单密码加密。
3.3 查看效果
开启数据集同步后,会自动刷新,重新登录后,点击管理系统>用户,就可以看到,数据库中的用户信息自动加载进来了:
同样“机构部门”也会根据数据自动生成,管理员只需要在“权限分配”中给角色分配权限就可以了。
注:用户管理及机构部门都是从数据自动生成的,不能进行修改。

FineBI商务智能系统权限配置

 

另:同步数据集添加用户与手动添加在权限分配过程是一样的,都是根据部门角色或者自定义角色分配。