基于RBAC的通用权限管理系统的详细分析与实现(理念篇——用户、组织和用户组)

RBAC模型是将客体的存取访问的权限在可靠的控制下连带角色所需要的操作一起提供给那些角色所代表的用户,通过授权的管理机制,可以授予一个角色多个权限,而一个权限也可以赋予多个角色,同时一个用户可以扮演多个角色,一个角色又可以接纳多个用户。

其中,在用户侧最重要的就是理解用户、组织部门和用户组的设计了。

一、用户

在这里插入图片描述

当对用户的权限进行设计思考中,用户的权限是受到很多约束。需要厘清以下概念的区分:

(一)人员与用户

需要注意的是人员与用户是两个概念,人员是人力资源的概念,是企业内的成员。用户是参与系统活动的主体,可以是人或外部系统,一般大多指的是人,可以看成对系统进行操作的一个账号。

每个部门中,都有相应的员工,但不是所有的员工都能成为用户。例如,财务系统中用户是财务部的会计、出纳等员工,系统中涉及部门员工的报销,成本等财务信息,但其他部门员工并不是财务系统的用户。

在这里插入图片描述
用户和人员是两个集合,一个用户只能关联一个人员;反过来,一个人员可以关联一个或多个用户,一个人员是否可以关联多个用户是由实际的业务需求控制决定的。

若所有企业人员都是用户,人员仅有一个账号,这两个概念可以合并。或者实现自动根据员工档案创建用户。

(二)用户的身份

用户的身份可以为企业内的员工,外部客户、供应商、审计人员或外部系统等。

当创建对应的用户时,若当前的用户是企业内的员工、需要设置关联用户对应的员工;当用户为企业的客户或者供应商的时候,需要设置关联用户对应的客户或者供应商。

是否需要区分用户的身份信息,也是需要根据所设计的软件项目的业务需求决定的。

(三)用户的类型

从用户使用系统的习惯性和方便性以及系统安全性角度考量,可以将系统的用户划分为如下几类:

管理员:拥有管理界面,可进入后台管理界面对各功能进行配置。

  • 超级管理员:具有配置使用该系统一切用户的角色的权限。同时,也具有操作使用该系统中除了操作日志外的一切资源的权限。
  • 系统管理员:可以增加或删除全机务段部门管理员,而且还可以具有配置系统中部门管理员的角色的权限。同时,拥有管理部门层面基础数据的权限,例如:部门名称等。
  • 部门管理员:可以增加或删除普通用户,而且还可以具有配置普通用户的角色的权限。

普通用户:普通用户就是使用系统的日常用户。他们被部门管理员分配一定的角色,拥有一定权限。他们可以使用该用户权限下的各种系统资源,维持系统的安全稳定运行。

临时用户:该用户使得系统的使用存在了一定的扩展性,但同时也增加了一定安全风险。主要针对一些特殊情况,由各级管理员酌情设置。

(四)用户常用功能

用户管理是将此系统所有使用用户进行统一管理的功能模块,但凡需要使用系统的用户,都需要先由管理员添加进系统才能使用。

定制化阶段的产品,一般不需要做注册功能,管理员在系统中手动添加用户后,由系统默认或随机生成一个初始密码,用户在第一次使用时自己手动修改。

所以这个功能模块就是用来管理用户的基本信息的。

对于用户,系统应该实现以下常用功能:

启用/停用:是一对互斥按钮,如果该用户已经离职,可以将该用户停用。如果用户被停用,该用户不能登录,不能对该用户进行授权,也不能删除该用户的授权数据。

锁定/解锁:是一对互斥按钮,锁定最常见的情况是如果用户登录系统的时候,输入错误密码的次数超过系统允许的次数,这时候用户就会被自动锁定。如果用户被锁定,该用户不能登录,但并不影响管理员对该用户操作和授权。

密码重置:用户忘记密码的时候,管理员可以使用“密码重置”按钮为用户生成一个新的密码。

二、组织结构(organization)

组织结构是用户的一种重要属性,不仅因为用户可能是某组织部门的员工,也有可能用户是某组织部门的供应商或客户。

组织结构一般为树形层次结构,实现可以很复杂,对于权限管理系统,它需要考虑组织间的职能划分,数据业务范围的隔离,同时也属于人力资源的概念。

组织结构其实和功能权限没什么关系,主要与数据权限的分配有关,以及给用户划分归属。

(一)组织的层次关系

对于业务复杂的大型企业管理系统,包含众多集团与子公司,权限如何隔离?如何集中和分权管理?

如今高端集团企业多元化产业经营、专业分工日趋明显,随之组织数量越来越多、形态也各不相同、关系错综复杂;同时国际、国内形势风云变幻、市场竞争环境日趋激烈残酷、转型、升级、并购等管理模式变化也十分频繁常见,这些对于高端集团企业的整体管理水平都是一个极大的挑战。如何支持全球化、多集团、多组织应用的管控、集权或分权管理?

在这里插入图片描述
若想解决这种复杂的分权管理,那么针对多集团、多组织的软件系统应该是分层次的,并需要仔细识别业务主体。例如,大型ERP系统的组织结构可分为全局、集团、业务单元三层架构体系。

1.全局(Global)

全局是跨越系统内所有集团的一个范围。

用一个形象的例子来比喻,首先有一个全局的概念,全局是指跨越系统内所有集团的一个范围。

我们将各种星系比喻为集团,那么不论有多少星系,总是不能超出“宇宙”的范围。同样,全局是个范围,不论在系统中有多少集团,都不能超出“全局”这个概念。

全局不具备业务职能,但在系统中可以针对全局设定一些通用的规则和数据标准,比如币种。正如同宇宙中的所有星系必须遵循某些运行规律一样。

2.集团(Business Group)

业务上是指大型集团企业多个子集团和多个业务板块,每个子集团和业务板块是一个集团。

技术上是指系统中主数据和部分组织数据的隔离范围,集团本身并不是发生实际业务的具体机构。

对于大型的软件系统,可以在系统中建立多个集团,构成一个多级集团管控的树,如母集团与子集团的多级集团管控;每个集团建立集团级的相关信息(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值