系统参数fr_username(实时数据)

编辑
  • 文档创建者:doreen0813
  • 浏览次数:1334次
  • 编辑次数:3次
  • 最近更新:doreen0813 于 2018-11-27
  • 1、描述

    对于很多企业来说,有时候往往希望某些数据表中,不同部门职位的员工只能看到自己部门的数据。除了之前介绍的多层级权限需求实现外,还可以通过FineBI平台的系统参数 fr_username 实现此场景。

    参数fr_username属于FineBI平台系统的内置参数,可以自动获取到平台当前登录用户的登录名称。


    并且参数fr_username是区别于其他普通参数的,在仪表板分析时,无法对其进行过滤组件参数绑定(特殊参数默认隐藏)过滤等操作。


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

    注:此处介绍的该参数用法需要为开启实时数据,直连数据库的数据表才能使用。  

    2、示例

    2.1 SQL数据集配置

    登录FineReport设计器,参考设计器远程连接方法及步骤连接FineBI服务器,配置系统用户的服务器数据集,如下图:


    点击确定保存该服务器数据集。登录FineBI数据决策系统,进入管理系统>用户管理,开启用户同步数据集,选择数据表中相关对应字段,点击确定即可成功实现FineBI平台用户数据集的同步。如下图:


    点击立即同步保存该用户配置。随后进入数据准备>业务包下,选择添加SQL数据集,输入带参数的SQL如下图所示,获取fr_username的参数。

    select * from aaa_user where 账号='${fr_username}'


    注:where 账号='${fr_username}'中,账号为对应之前用户同步数据集中的登录用户名。  

    点击确定保存该带参数的用户表。为该表开启实时数据按钮,直连数据库,如下图:


    2.2 效果展示

    管理员新建仪表板,将上面添加的SQL表的相关字段拖拽至组件中,如下图:


    可以看到管理员是看不到任何该表数据的。因为SQL语句的过滤条件是where id='${fr_username}',由于该用户表中实际并不存在管理员的信息,所以管理员实际是看不到该表的任何数据的。

    将该仪表板挂出并分配权限给普通用户以后,改用其他账户登陆查看当前仪表板内容便可发现每个用户都只能看到自己的数据,即说明我们成功地实现了实时数据SQL数据表的权限控制功能。

    用户账号99登录后的查看效果如下所示,仅能看到自身的数据:


    用户账号101登录后的查看效果如下图所示,仅能看到自身的数据:


    用户账号5648登录后的查看效果如下图所示,仅能看到自身的数据:



    附件列表


    主题: 管理系统
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]