zoukankan      html  css  js  c++  java
  • RBAC

    根据人员职级的不同所使用的系统功能不同,当人员使用相同功能时,根据组织机构的不同,看见的数据不同。按照不同的维度,进行权限的划分,而不同。

    其一基于角色的访问权限控制(RBAC)模型,人员角色来赋值给用户的权限管理,可以分为两大类型:功能权限、数据权限。

    那么现在我们就先按照RBAC来看权限分配。

    一、背景

    在对应系统中每个用户所看见的界面功能和数据不可能都一样,而是根据人员的组织机构和职级不同进行相应的区分。

    举个例子:

    • 部门经理可见可操作功能‘业务报表’,员工不可见。
    • 业务A部门经理在‘业务报表’中只能看见本部门业务A部门的数据。而总经理可在‘业务报表’中,可查看所有部门业务A、B、C、3个部门的数据。

    这时就需要进行对应的权限分配。

    二、RBAC

    经典模型RBAC模型是现在权限管理系统的基础,但包括不限于此。

    根据公司组织架构不同设计有所不同,或2B业务是设计的通用权限划分,

    RBAC模型可分为:RBAC_0、RBAC_1、RBAC_2、 RBAC_3共4个版本。

    其他3个模型都是基于RBAC_0演化的。

    先简述下这4个RBAC模型:

    • RBAC_0模型: 权限——角色——用户。
    • RBAC_1模型:基于RBAC_0增加了子角色,子角色可继承父角色的所有权限。
    • RBAC_2模型:基于RBAC_0增加了角色互斥,互斥的角色不可同时赋予一个用户账号。
    • RBAC_3模型:结合了RBAC_0、RBAC_1、RBAC_2,目前为更全面更复杂的模型。

    三 、使用场景

    基于RBAC来做的权限赋予角色再赋予用户。

    1. 功能权限

    配置每个用户所见及所能操作的功能项不同。

    当在主系统中存在不同子系统时,选定对应子系统将不同的功能项赋予到指定的角色上。

    ERP系统:后台权限设计

    图二

    2. 数据权限

    根据组织机构所属部门不同,用户使用相同功能时所能看见的展示数据是不一样的,因根据公司业务情况不同。

    • 其一直接套用组织机构进行权限划分,缺点不可配置,无法根据实际业务跨部门查看数据。
    • 其二根据组织机构再次进行配置划分数据权限,缺点为每个组织机构都进行数据权限分配。

    ERP系统:后台权限设计

    图三

    3. 角色结合

    在某个组织机构下选取的岗位角色,赋予对应的功能角色和数据角色。

    岗位角色=功能角色+数据角色

    ERP系统:后台权限设计

    图四

    4. 配置账号

    将不同的用户账号赋予不同的岗位权限,因我们在角色就是用的多角色构成关系,及岗位角色被赋予了多个功能权限与数据权限。因此,一个用户账号在此只需要对应一个岗位角色即可。

    ERP系统:后台权限设计

    图五

    若无任何一权限进入系统后则应有“无权限”提示,对于企业级系统如ERP、OA主体为公司员工使用,而账号分配及权限分配都是有专人负责进行,并无开放注册功能。

    按照不同的维度进行权限的划分还可以对接人力资源管理系统,按照组织机构进行权限划分,也可在当前设置按钮中加入共享功能再特定人员(如:分部、部门、个人、角色),这时根据系统主体架构而定。

  • 相关阅读:
    poll系统调用的内核态实现机制分析
    Tomcat与web程序结构与Http协议
    关于java的环境变量的一点总结
    我想成为大牛,第一队,不要单打独斗
    ubuntu12.04单卡server(mentohust认证)再加上交换机做路由软件共享上网
    写在程序猿的困惑(特别Java程序猿)入行一年,感觉我不知道接下来该怎么办才能不断进步的,寻求翼
    三大趋势在移动互联网发展
    031 二进制1的数量(keep it up, 看到这个问题,刚开始有点蒙)
    【Java】【Flume】Flume-NG阅读源代码AvroSink
    PHP中间uniqid在高并发重复问题
  • 原文地址:https://www.cnblogs.com/mracale/p/9466282.html
Copyright © 2011-2022 走看看