1. 概述编辑
1.1 应用场景
对于很多企业来说,有时候希望某些数据表中,不同部门职位的员工只能看到自己部门的数据。除了之前介绍的 多层级权限需求实现 外,还可以通过 FineBI 平台的系统参数fine_username实现此场景。
1.2 功能简介
参数fine_username属于 FineBI 内置参数,可以自动获取当前平台登录用户的登录名称。
注1:fine_username 参数在仪表板分析时,无法对其进行 过滤组件参数绑定(特殊参数默认隐藏)过滤等操作。
注2:本文介绍的参数用法需要开启实时数据,直连数据库的数据表才能使用。
注3:FineBI 平台目前只支持系统用户名参数,例如:$fr_username 、$fine_username 。
2. 示例编辑
2.1 FineReport 集成到 FineBI
详细步骤请参见:FineReport 集成到 FineBI
2.2 新建服务器数据集
1)在 FineReport 设计器中远程连接 FineBI,具体步骤请参见:服务器数据集 的 3.1 节内容。
2)在 FineBI 远程环境中点击服务器>服务器数据集,添加数据库查询语句,SQL 语句为:select * from aaa_user where 账号='${fine_username}',如下图所示:
2.3 新建 SQL 数据集
1)以管理员身份进入 FineBI 数据决策系统,点击数据准备>用户访问日志,如下图所示:
2)鼠标移动到「添加表」,选择SQL数据集,表名为用户信息,SQL 语句为:select * from aaa_user where 账号='${fine_username}',点击确定按钮,如下图所示:
注:管理员查看该表,数据为空,因为管理员信息并不在本文 2.2 节新建的服务器数据集中。
3)为「用户信息表」开启实时数据,如下图所示:
2.4 添加用户
1)点击管理系统>用户管理,点击添加用户,添加用户6148,如下图所示:
注1:同步用户数据集方法请参见:同步用户数据集
注2:所添加用户的密码为本文 2.2 节服务器数据集中的密码。
2)以相同方法添加用户5648。
2.5 权限分配
点击管理系统>权限管理>用户,选中5648,点击业务包权限,为分配「用户访问日志」的使用权限。如下图所示:
2)以相同方法为用户6148分配「用户访问日志」的使用权限。
2.6 效果查看
1)用户 5648 登录数据决策系统,点击数据准备>用户访问日志>用户信息表,只能查看自己的信息。如下图所示:
2)用户 6148 登录数据决策系统,点击数据准备>用户访问日志>用户信息表,只能查看自己的信息。如下图所示: