系统参数fr_username

编辑
文档创建者:Holly (超级管理员 )     浏览次数:726次     编辑次数:3次     最近更新:doreen0813 于 2017-11-01     

目录:

1. 描述编辑

对于很多企业来说,有时候往往希望某些数据表中不同的部门职位的员工只能看到自己部门的数据,此时可以通过FineBI平台的系统参数-fr_username实现此场景。

参数fr_username属于FineBI软件平台内置参数,可以自动获取到平台当前登录用户的登陆名称。并且参数fr_username是区别于其他普通参数的,在前端分析时,无法对其进行控件参数绑定(特殊参数默认隐藏)过滤等操作。
222

2. 示例编辑

下面以具体案例来演示如何通过参数fr_username来实现权限分配的功能。

2.1 权限sql数据集配置

首先在FineReport中切换工作目录到FineBI,配置好平台用户的服务器数据集
222

进入到FineBI平台管理系统-用户管理界面,开启用户同步数据集,选择数据表中相关对应字段,点击确定即可成功实现FineBI平台用户数据集同步。

222

管理员可以在sql直连数据集中配置好需要的数据表,以下图展示的sql为例便可成功通过fr_username特殊参数实现该表的权限控制的功能。
222

2.2 权限控制展示

管理员可新建仪表板,用该表的相关字段制作一张模板。不难发现管理员是看不到任何该表数据的。过滤条件是where id='${fr_username}',分析sql语句便可知晓,由于用户信息表中实际并不存在管理员的信息,所以管理员实际是看不到该表的任何数据的。

222

将该模板发布到首页,改用其他账户登陆查看当前首页模板内容便可发现每个用户都只能看到自己的数据,即说明我们成功地实现了直连sql数据表的权限控制功能。

用户ID151,沈曼登陆后查看效果:

222

用户ID152,丁琳登陆后查看效果:

222

用户ID153,苏兰登陆后查看效果:

222

3. 常见疑问编辑

除此之外,每个用户新建仪表板,在直连数据集的这张表中,也只能看到自己相关的数据。

(1)为什么管理员新建仪表板看不到该表的任何数据?

答:过滤条件是where id='${fr_username}',分析sql语句便可知晓,由于用户信息表中实际并不存在管理员的信息(可在用户信息表中加入管理员的信息),所以管理员实际是看不到该表的任何数据的。

(2)如何实现用户A和用户B看到一样的数据,而用户C看到另外的数据?

答:在该表中新增一个字段,用来保存该权限逻辑,再join一张用户权限字典表,便可实现此种场景。


附件列表


主题: 数据配置
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: