如何用when实现用户权限控制

想要实现的功能是:有登录用户名    地区    人员当A登录时,下拉框显示B地区的所有人员

当B登录时,下拉框显示C地区的所有人员

管理员登录时,显示所有人员。

登录的用户是默认的

人员是根据地区来决定的,所以要先确认地区。

原来写的:

SELECT 人员 FROM SALES_BASIC WHERE 地区 =

(CASE

    WHEN '${fine_username}' = 'A' THEN '1'

    WHEN '${fine_username}' = 'B' THEN '2'

 

END)

这个有个问题就是没把当fine_username =admin 的时候,需要显示的是地区1和2的所有销售人员。

FineReport yzm221338 发布于 2021-11-15 17:01 (编辑于 2021-11-15 20:03)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
让过去Lv6中级互助
发布于2021-11-15 17:06(编辑于 2021-11-15 17:48)

建个权限表,哪些人是管理员,哪些人A地区,哪些人B地区,然后事实表关联权限表,加下面的条件

WHEN 1=1

${IF(权限字段 = '管理员',"","AND 地区 = '"+权限字段+"'")}

最佳回答
0
檬茶茶Lv4初级互助
发布于2021-11-15 17:31(编辑于 2021-11-15 17:31)

应该在数据集的sql里处理吧?

图片.png

WHERE 1=1${IF(权限字段 = '管理员',"",if(权限字段 = 'A',"人员地区 = B","人员地区 = C")}

最佳回答
0
twsheLv6初级互助
发布于2021-11-15 19:41

image.png

弄个下拉组件,做好过滤,,登录的用户是什么,用图片的公式,指定专门的值,就可以控制了

  • 4关注人数
  • 397浏览人数
  • 最后回答于:2021-11-15 20:03
    请选择关闭问题的原因
    确定 取消
    返回顶部