V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tctc4869
V2EX  ›  程序员

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

  •  1
     
  •   tctc4869 · 2021-07-29 09:26:42 +08:00 · 3491 次点击
    这是一个创建于 1232 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

    但两个不能混为一谈
    coderwl
        14
    coderwl  
       2021-07-29 10:38:46 +08:00
    看看 ACL 或者 RBAC 模型
    madlifer
        15
    madlifer  
       2021-07-29 10:41:18 +08:00
    RBAC 只支持 [功能] 控制不支持 [资源] 控制,如果要既要支持功能控制又要支持资源控制的话,可以了解一下 ACL(Access Control List),免得思考到最后再造了一遍 ACL
    HAYWAEL
        16
    HAYWAEL  
       2021-07-29 11:01:52 +08:00
    之前做后台,组织架构是当成角色处理的,对角色做了树状结构。有时候还要考虑组织结构改变后的情况
    dk7952638
        17
    dk7952638  
       2021-07-29 13:42:22 +08:00
    casbin
    jabari
        18
    jabari  
       2021-07-29 14:04:18 +08:00
    ACL RBAC ABAC
    xuanbg
        19
    xuanbg  
       2021-07-29 14:31:58 +08:00
    在 rbac 模型里面,角色的成员其实并不一定非得是用户。你可以把一个用户的集合作为角色的成员。这样这个集合里面所有用户就都间接地获得了角色所授予的权限。
    tctc4869
        20
    tctc4869  
    OP
       2021-07-29 14:36:32 +08:00
    用户组在组织管理架构里面,相当于部门岗位一类的存在
    ReinerShir
        21
    ReinerShir  
       2021-07-29 16:55:37 +08:00
    https://github.com/reinershir/lui-auth 一般都是角色权限用户这种模型
    elone
        22
    elone  
       2021-07-29 17:15:09 +08:00
    同楼上,我也推 casbin
    cs419
        23
    cs419  
       2021-07-29 22:13:54 +08:00
    在工作流中 有个概念叫 矩阵组织
    tctc4869
        24
    tctc4869  
    OP
       2021-07-30 09:40:14 +08:00
    有类似 er 图之类的资料吗
    @cs419
    @cs419
    tctc4869
        25
    tctc4869  
    OP
       2021-07-30 10:22:35 +08:00
    @cs419 关于矩阵组织的权限设计资料
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3113 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:58 · PVG 12:58 · LAX 20:58 · JFK 23:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.