请教大佬, oracle数据 要实现 专门权限表来控制 用户查看的数据权限,
有什么好办法吗?
直接用sql来写 oracle好像不好实现,没办法实现拼接过滤条件,
比如在where后面接 case when 表达式 then 表达式 ,oracle是不行的。
不知道各位大佬有没有什么好办法。
加个条件不就得了,比如你用登录名去控制
SELECT * FROM TABLE WHERE '${fine_username}' = '张三'
这样你必须是张三登录才有数据,不是张三没有数据
同理,部门角色也可以控制,范围更广,你可以单独给某些人设置一个共同的角色去控制
如果你要实现不同人看不同内容
你就unionall 起来就行了
可以参考,其它的权限控制基本都是大同小异:
where 1=1
${if(len(sql("数据集连接名称","select 权限字段 from 权限表 where 用户名字段 = '"+fineusername+"'",1,1))=0,"and 1=0","and 部门 in (select 权限字段 from 权限表 where 用户名字段 = '"+fineusername+"')")}