麦粉社区
>
帖子详情

关于权限控制的角色、部门的关系

其它 发表于 2024-12-20 16:30
发表于 2024-12-20 16:30:50

集团公司,有20个公司,希望实现:
用户A在公司1-10担任出纳,在公司11-20担任会计;
用户B在公司1-10担任会计,在公司11-20担任出纳。
出纳和会计有不同的数据权限。
怎么样设置可以是A只能看到公司1-10的出纳内容,和公司11-20的会计内容

发表于 2024-12-20 16:51:14

参考 https://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=111887104

回复

使用道具 举报

发表于 2024-12-20 19:46:07
权限这块还是比较复杂的,个人感觉还是得分成多个角色吧
回复

使用道具 举报

发表于 2024-12-21 13:44:45
每个公司分别设置会计和出纳的角色,授权自己公司的相应权限,把两个用户加到角色下
回复

使用道具 举报

发表于 2024-12-23 11:05:01
本帖最后由 橘猫今天喝水了吗 于 2024-12-23 11:13 编辑

实际情况中,各个公司的数据都是独立展示的,因此只需要给每个账号对应的角色,对应的角色分配对应的资源即可,可参考1楼的答案。


 


标准的用户角色权控制,需要40个角色,分别是20个公司的20个会计角色,20个出纳角色,然后对应角色授权对应资源。再将各个角色按需分配给账号即可。


 


如果你的所有公司的数据都在一张表,使用标准的角色权限控制是不能实现的,使用非常规手段,则需要你在数据集中进行判断,


select * from 出纳数据表 as  t 


where


 current_用户='A' and t.公司id  between 1 and 10 


or


 current_用户='B' and t.公司id  between 11 and 20 


 


 


select * from 会计数据表 as  t 


where


 current_用户='A' and t.公司id  between 11 and 20 


or


 current_用户='B' and t.公司id  between 1  and 10 


 


 


如果出纳和会计的数据也在同一张表


那你就在条件中加上数据类型判断。


select * from 出纳_会计数据表 as  t 


where


 current_用户='A' and t.公司id  between 1 and 10  and   t.数据类型 ='出纳数据'


or


 current_用户='B' and t.公司id  between 11 and 20    and   t.数据类型 ='出纳数据'


or 


 current_用户='A' and t.公司id  between 11 and 20 and   t.数据类型 ='会计数据'


or


 current_用户='B' and t.公司id  between 1  and 10 and   t.数据类型 ='会计数据'

回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

4回帖数 0关注人数 615浏览人数
最后回复于:2024-12-23 11:05
快速回复 返回顶部 返回列表