找回密码
 立即注册

QQ登录

只需一步,快速开始

电话咨询

售前咨询电话

400-811-8890转1

在线技术支持电话

400-811-8890转2

总裁办24H投诉

173-127-81526

通过finedb库查询某个用户或某个角色的权限问题(初稿)

和而共谐,助而互进。Qq_Wx:182197365
本来准备用文档的形式呈现,但感觉这个内容可扩展性太多了,想把它写完整不易。

-- 先粗略记录一下,后面再慢慢完善 --

________________我是分割线______________


截图202101281909369161.png

________________我是分割线______________

先给Alice用户添加到【普通角色1】中

截图202101281912134972.png

角色赋予【”数据连接”权限&“目录权限”】(陆续补上人员管理&系统管理)

截图202101281915069390.png

截图202101281915367195.png

单独站在用户的角度给Alice用户添加【数据连接权限&目录权限】;

截图202101281916532798.png

截图202101281917268590.png

设置完成,保存;

________________我是分割线______________

通过下面的SQL脚本就能快速从用户或角色角度来查看对应权限;
+++++++++++++++sql_str+++++++++++++
SELECT USERNAME
       ,d. NAME --  角色名
       ,displayname -- 显示报表名称和目录名称
       -- ,AUTHORITYENTITYTYPE -- 0-目录权限,2 - 数据连接权限
       ,case AUTHORITYENTITYTYPE
when 0 then  '目录权限'
when 2 then  '数据连接权限'
else '未知' end as AUTHORITYTYPE
      
       ,case AUTHORITYTYPE
when 1 then  '查看权限'
when 2 then  '授权权限'
when 3 then  '编辑权限'
when 4 then  '数据连接管理权限' else '未知' end as AUTHORITYTYPE

     ,case EXPANDTYPE
when 1 then  '平台管理系统节点'
when 2 then  '首页'
when 3 then  '目录'
when 5 then  '链接'
when 6 then  '文件'
when 101 then  '上报流程'
when 102 then  'FineReport 报表'
when 201 then  'BI 报表' else '未知' end as EXPANDTYPE
-- ,b.ROLETYPE
     ,case b.ROLETYPE
when 1 then  '部门职位'
when 2 then  '自定义角色'
else '未知' end as ROLETYPE
--  ,C.ROLETYPE
    ,case C.ROLETYPE
when 1 then  '部门-部门下职务'
when 2 then  '自定义角色'
when 3 then  '用户'
when 5 then  '职务'
else '未知' end as ROLETYPE
-- 所关联的广义角色类型1 - 部门,部门下职务2 - 自定义角色3 - 用户4 - 职务
FROM FINE_USER a -- 用户表
LEFT JOIN FINE_USER_ROLE_MIDDLE b -- 用户角色的中间表
ON a.ID = b.USERID
LEFT JOIN FINE_AUTHORITY c -- 权限表
ON b.roleid = c.roleid
LEFT JOIN FINE_CUSTOM_ROLE d -- 自定义角色表
ON b.roleid = d.id
LEFT JOIN FINE_DEP_ROLE f -- 部分职位中间表
ON b.roleid = f.id
-- LEFT JOIN g -- BI业务包行过滤器表
-- on c.roleid =f.roleid
LEFT JOIN fine_department h -- 部门表
ON f.DEPARTMENTID = h.id
LEFT JOIN FINE_AUTHORITY_OBJECT j -- 权限实体表
ON j.id = c.AUTHORITYENTITYID
LEFT JOIN FINE_POST i ON f.postid = i.id
WHERE a.USERNAME = 'Alice'
-- and EXPANDTYPE = 3 -- 目录
-- and AUTHORITY=2  -- 权限
-- and AUTHORITYENTITYTYPE in (1,0)
GROUP BY USERNAME,
         d.NAME,
         displayname,
         AUTHORITYENTITYTYPE,
         AUTHORITYTYPE,
         EXPANDTYPE,
         b.ROLETYPE,
         c.ROLETYPE
+++++++++++++++sql_end+++++++++++++

结果呈现,后面我再慢慢补充吧!= =#

截图202101291100282852.png

编辑于 2021-1-29 11:01  

发表于 2021-1-28 23:57:31
占楼占楼

使用道具 举报

发表于 2021-1-29 09:17:40

使用道具 举报

发表于 2021-2-1 08:45:50

使用道具 举报

发表于 2021-2-24 11:29:58

使用道具 举报

发表于 2021-7-28 15:14:37
您好,我想问一下,我的系统已经根据部门给一部分表配置了权限,但是查询出来的displayName都是空值,匹配不上表名,这种情况该怎么办?

使用道具 举报

发表于 2021-7-28 16:04:26
不用递归,1目录下的1.1目录中的报表能查出来吗

使用道具 举报

发表于 2021-9-10 16:57:38

使用道具 举报

发表于 2022-2-11 14:53:38
666,您好,想问下有业务包的权限查询的吗

使用道具 举报

发表于 2022-10-12 15:08:19 发布于APP客户端
是哪个表啊?

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系社区管理员|联系帆软|《帆软社区协议》|手机版|帆软社区|Copyright © 帆软软件有限公司 ( 苏ICP备18065767号-7 )

GMT+8, 2023-1-30 10:09 , Processed in 0.140016 second(s), 66 queries , Gzip On.

返回顶部 返回列表