报表如何同步用户数据集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报表如何同步用户数据集相关的知识,希望对你有一定的参考价值。
1. 描述
企业职工人数是相当多的,并且由于人员的流动性,用户信息一直在变化,如果每次都通过手动添加修改,工作量将会很大。那么该如何实现动态的更新平台系统中的用户信息呢,使之随着数据库中的用户信息一起变化。
FineReport提供了同步数据集功能将已有的用户信息直接导入到决策系统中,并且与数据库中数据保持一致。
注:不同于手动添加用户中的导入服务器数据中的用户信息,开启了数据集同步后,用户信息将跟随数据集同步,动态改变、实时更新,即若数据库信息改变后,决策系统中的用户信息也会随之改变。
2. 步骤
2.1 将用户信息定义为服务器数据集
设计器中点击服务器>服务器数据集,安装FR后,默认有一个服务器数据集用户信息表,该表中包含了用户名、部门、职务、邮箱等等信息,服务器数据集添加过程请查看服务器数据集。
2.2 开启数据集同步
登陆数据决策系统http://ip:端口/appName/ReportServer?op=fs,使用管理员账号登陆。
点击管理系统>用户管理,进入用户管理界面,点击上面的设置按钮,进入用户设置界面,如下图:
2.3 配置同步数据集
在弹出的设置面板中,点击用户同步数据集选项后面的开启按钮,下拉出配置同步数据集选项,为数据决策系统的用户信息绑定字段,如下图:
注:同步数据集字段绑定的过程与手动添加用户中的配置过程一样。
注:如果需要同步部门间层级关系,则需要选择按照部门层级构建的树数据集,详见从数据库导入部门间层级关系。
密码加密
7.0.3版本为数据集的配置新增了密码加密方式,有三种加密方式:不设置密码加密,自定义密码加密,内置MD5加密。
自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%FR_Home%\WebReport\WEB-INF\classes文件夹中。
注:自定义加密算法,不管该算法的具体方式是什么,都必须继承FineReport的AbstractPasswordEncode类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。
自定义加密示例请查看简单权限之密码加密。
注:数据集同步设置完成后要重新登录,原因是切换了登录的方式,原先的登录数据需要清除,如果不重新登录会产生很多无法估计的错误,比如多人登录时由于登录方式切换,各种参数的保存位置会发生混乱等。
2.4 查看效果
重新登录后,点击管理系统>用户管理>所有用户,就可以看到,数据库中的用户信息自动加载进来了:
同样“机构部门”也会根据数据自动生成。
注:所有用户及机构部门都是从数据库自动生成的,不能进行修改。
这时打开管理系统>权限管理,选择角色,可以看到在同步数据集中添加的角色也添加进来了,添加进来的角色背景为黄色,如下图:
2.5同步数据集可设置同步频率、手动立刻同步
现在同步间隔时间太短影响fs性能。同步时间设置长了之后,无法满足及时同步的需要。 因此现在界面提供一个手动同步的地方,可设置同步频率(单位s),有同步按钮,可立刻同步,如下图:
以上是关于报表如何同步用户数据集的主要内容,如果未能解决你的问题,请参考以下文章