V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tctc4869
V2EX  ›  程序员

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

  •  1
     
  •   tctc4869 · Jul 29, 2021 · 4197 views
    This topic created in 1733 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

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

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