要设计组织权限管理模块,请问有哪些组织权限关系的管理模型?

2021-07-29 09:26:42 +08:00
 tctc4869

要把用户权限管理和组织管理关联起来,不知道目前现在拥有有哪些组织权限关系的管理模型?

对于其中的组织权限关系部分设计,是这样思考的:

( 1 )一个部门里,有很多员工,每个员工的岗位职责是有区别的

( 2 )公司内部,可能会出现一个员工兼职多个的岗位情况,可能其中有两个岗位是不同部门的(比如全干工程师)

基础上述前提,我自己基于 RBAC 权限体系加上部门和岗位思考的,总共 5 个组成,分别是用户、角色、权限资源、部门、岗位。其中关于组织权限关系管理模型如下

用户与部门并不会直接绑定,两者的绑定是通过岗位关联的。所以用户与部门的关系,是通过岗位来决定的, 一个部门内部可以拥有多个岗位,一个用户(员工)可以兼职多个岗位。因此,会存在一个用户(员工)兼职多个部门的岗位情况。

岗位与角色数据绑定。这样有关于用户和部门的权限关系,完全根据用户兼职的岗位性质来决定,

这是我所设想的。不知道各位对此怎么看?有什么问题吗?各位还知道哪些组织权限关系的管理模型?

3500 次点击
所在节点    程序员
25 条回复
dwlovelife
2021-07-29 09:33:00 +08:00
员工一对多部门,员工一对多岗位,部门和岗位不建关系映射,如果要查关系 通过部门找员工去查岗位
ruiyi1994
2021-07-29 09:33:33 +08:00
可以看下这个. https://casbin.org/
yikyo
2021-07-29 09:39:10 +08:00
2 楼提了,我也刚想说这个
tctc4869
2021-07-29 09:39:22 +08:00
@dwlovelife 那与权限关系呢?
dwlovelife
2021-07-29 09:46:28 +08:00
@tctc4869 看你的角色 能作用的范围 是直接作用于用户 还是跟部门岗位也有关系,其他的就走 RBAC 那一套就行了
tctc4869
2021-07-29 09:46:56 +08:00
@ruiyi1994 这只是一个权限管理的框架实现吧。
masterclock
2021-07-29 09:47:09 +08:00
tctc4869
2021-07-29 09:48:09 +08:00
@dwlovelife 我的问题是,部门和岗位与权限的关系,你也是岗位与权限直接绑定么,对于部门级别的权限,都是通过岗位来决定的么
dwlovelife
2021-07-29 09:54:51 +08:00
我的想法是 部门和岗位 跟权限没有关系,只让用户和角色挂钩, 权限是作用于角色的 角色是作用于用户的 这个能做到最细粒度
Spoter
2021-07-29 10:08:05 +08:00
tctc4869
2021-07-29 10:25:51 +08:00
@tctc4869 看错了
wensonsmith
2021-07-29 10:28:46 +08:00
可以看看这个,里面有 Oracle \ Salesforce 这种大型管理系统中的权限设计

https://coffee.pmcaff.com/article/zNBrYXGPQe?newwindow=1
madlifer
2021-07-29 10:34:30 +08:00
我理解 权限系统只能用于建立用户、角色和权限三者的关系,跟组织构架没有关系

权限系统(建立关系) +组织构架(扩展查询条件)二者加起来能够完成业务查询的要求

但两个不能混为一谈
coderwl
2021-07-29 10:38:46 +08:00
看看 ACL 或者 RBAC 模型
madlifer
2021-07-29 10:41:18 +08:00
RBAC 只支持 [功能] 控制不支持 [资源] 控制,如果要既要支持功能控制又要支持资源控制的话,可以了解一下 ACL(Access Control List),免得思考到最后再造了一遍 ACL
HAYWAEL
2021-07-29 11:01:52 +08:00
之前做后台,组织架构是当成角色处理的,对角色做了树状结构。有时候还要考虑组织结构改变后的情况
dk7952638
2021-07-29 13:42:22 +08:00
casbin
jabari
2021-07-29 14:04:18 +08:00
ACL RBAC ABAC
xuanbg
2021-07-29 14:31:58 +08:00
在 rbac 模型里面,角色的成员其实并不一定非得是用户。你可以把一个用户的集合作为角色的成员。这样这个集合里面所有用户就都间接地获得了角色所授予的权限。
tctc4869
2021-07-29 14:36:32 +08:00
用户组在组织管理架构里面,相当于部门岗位一类的存在

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/792394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX