(本文档仅供参考)
问题描述
权限出现问题如何排查?具体问题描述如下:
1、只是某个用户授权了相关报表,为什么其他用户登录还是可以看到?
2、我对资源发布到浏览界面,为什么这个用户看不到?
3、我已经给这个用户授权了,为什么还是会报没有资源权限的提示?
4、我对这个报表设置了数据权限,为什么还是可以看到所有数据?
5、我对这个报表设置的数据权限,想要管理员或者某个用户是可以看到所有数据的,要如何设置?
6、我只是想某一列数据不想让一些看到,要怎么实现?
解决思路
1、只是某个用户授权了相关报表,为什么其他用户登录还是可以看到?
方法:对于这样的问题需要先和确定,这个报表的资源授权是否有EveryOne角色。
具体操作如下:对报表右键资源授权。 如果有EveryOne,此对象是产品内置对象,代表所有用户都可以查看。若是不想任何人都可以查看,可将这个EveryOne去掉。若发现无法删除此对象,原因是因为此对象是从上级目录继承下来的,这时候,可取消勾选资源授权界面的右上角:“ ”,取消勾选后即可删除。
2、我对资源发布到浏览界面,为什么这个用户看不到?
方法:
1)用户对应的角色,需拥有报表浏览的操作权限
2) 先确定是否在资源发布下的电脑主题已经新建了发布主题。
3) 确定这个主题授予对象是否包含这个用户。
4) 确定手机主题发布的报表(包括目录)显示终端是否勾选了“手机”。
5) 如果以上都已经排除,请确定报表资源(包含目录文件夹的权限)授予对象是否包含了这个用户?
3、我已经给这个用户授权了,为什么还是会报没有资源权限的提示?
方法:此问题是因为这个用户对这个报表没有资源权限。如果报表是页面的话,不单只是页面需要进行资源授权,页面里边的各类报表资源也需要资源授权给这个用户,同理报表涉及到的相关数据集也需要授权给这个用户。
4、我对这个报表设置了数据权限,为什么还是可以看到所有数据?
方法:
1)首先先了解是怎么设置的,因为产品中有直接设置数据权限的方式,但这种方式是有限制的,只是对于可视化查询制作的各类报表、基于业务主题制作的各类报表才是生效的。对于原生SQL查询和SQL查询制作的报表是不生效的,需要在SQL上where语句中的系统函数实现,具体如下(相关数据权限设置,可先查看F-数据权限示例:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=26445545):
2)如果还是有问题,需要具体问题具体排查了。先看用户具体的操作是怎样的,再者可以分析后台日志中报表的执行SQL是怎样的,权限控制逻辑是否正确。
5、我对这个报表设置的数据权限,想要管理员或者某个用户是可以看到所有数据的,要如何设置?
方法:可先查看F-数据权限示例:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=26445545 具体是如何实现数据权限的。
6、我只是想某一列数据不想让一些看到,要怎么实现?
方法:这种就是我们说的列数据权限了,可参考数据权限设置-列数据权限:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=29852422