方法不难,关键是思路转换,虽然清楚的小伙伴有很多,还是写一下:
1.场景
无论是FR还是BI,外链分享是一个极其常见的用法,而在外链分享时,因为无法获取用户信息,导致数据权限控制是个比较麻烦的事情
比如:
①利用FR进行外部数据搜集时,希望填报人员可以查看并修改自己填报的数据
②通过FR开发的供应商数据表,给供应商查看【控制权限】
③BI做好的看板给外部人员查看,但是要求该人员只能查看他所属的权限等等
虽然,这些场景都可以通过在系统开个临时账户进行查看和进行,但是如果系统用户和其余系统做了集成,同时公司做了账户集中管理,那么这个过程就变得繁琐。
这时,如果可以单独控制外链数据权限就变得有必要了。
2.说明
无论FR或者BI,实现数据权限控制的核心就是通过系统自动获取用户信息,并依据这个信息对数据集的数据实现过滤。
实现方式包括:
【FR】SQL直接过滤&页面参数控制
【BI】SQL直接过滤&系统配置
3.实现
依据上面,外链下权限控制的难点就是用户的获取,因此我们可以将用户获取手动化。
通过下拉框或者文本框或者密码框等等控件,获取用户输入信息【电话&用户名&验证码】等等,进而转化为数据表对应字段,从而实现权限控制
备注:具体开发时,需要设置默认查询为空或者不默认查询,等用户输入信息才进行查询,防止信息泄露
更多相关信息查看文档:
外部权限表实现数据权限过滤- FineReport帮助文档 - 全面的报表使用教程和学习资料 https://help.fanruan.com/finereport/doc-view-3040.html?source=4
数据权限概述- FineBI帮助文档 FineBI帮助文档 https://help.fanruan.com/finebi/doc-view-248.html
最后,文档不完善或者有遗漏的地方欢迎各位大佬补充~~ |