请问下用户名和角色如何同时设置访问权限

我做了一张统计报表,里面包含填报人,想实现:

1、填报的人通过这张报表只能看到自己填的内容?这里用$fine_username参数进行控制;

2、一个角色里面的用户登录可以查看到所有填报人填报的内容,角色已经对cpt授权;

3、简单一点就是一些人填报数据后,自己填的看自己的,领导能看所有,在同一张报表里面;

我看了--权限细粒度参数控制及下面的示例--的官方文档,和我这个场景还是有些差别,官方示例设置了部门和岗位,而我用不到部门和岗位,所以现在对权限设定有些不解,请大家一起探讨一下。。

image.png

FineReport 用户e2379142 发布于 2022-3-4 21:16
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-3-4 21:27(编辑于 2022-3-4 21:56)

这个简单呀。你设置几个角色。。。然后直接用角色参数判断就行了

角色的参数:$fine_role,,就是只要登陆人,一登陆就会有获取它所有角色。。。那么你就判断,如果包含领导角色。就直接查看所有数据。。如果没有这个角色就直接只能看自己的。。

select * from 你的表

where 1=1

${if(find("领导"fine_role)>0,"","and username='"+ fine_username + "'")}

fine_username   参数是获取的用户名就是下面的Lisa。。。不是姓名。。

image.png

  • 用户e2379142 用户e2379142(提问者) 你的意思是填报的人放一个角色,领导放一个角色吗
    2022-03-04 21:37 
  • CD20160914 CD20160914 回复 用户e2379142(提问者) 对的。。。。你还可以设置比如领导角色。。部门领导角色。。以及单人角色。。。
    2022-03-04 21:40 
  • 用户e2379142 用户e2379142(提问者) 回复 CD20160914 现在有点尴尬的是不明确有哪些人填,但是查看报表的领导是知道哪些的,刚才用上面的sql过滤没起到作用,不同用户都能看到所有的数据
    2022-03-04 21:43 
  • CD20160914 CD20160914 回复 用户e2379142(提问者) 你的表有没有对应的字段与帆软的用户名是匹配的呢。。。fine_username是获取登陆的用户名。。。然后username我随便写的字段,你的表中有没有用户名的字段。不是汉字。是登陆的那个拼音账号。。
    2022-03-04 21:47 
  • 用户e2379142 用户e2379142(提问者) 回复 CD20160914 select * from finedb.dbo.zszy_cyhs where 1=1 ${if(find(\"再生资源报表\"fine_role)>0,nofilter,\"and cteator=\'\"+ fine_username + \"\'\")} order by tbrq desc cteator就是我图上的填报人对应的数据库字段名
    2022-03-04 21:53 
  • 2关注人数
  • 290浏览人数
  • 最后回答于:2022-3-4 21:56
    请选择关闭问题的原因
    确定 取消
    返回顶部