RBAC权限控制模型在实际项目中如何应用?

引言:企业信息化基础管理平台 是将企业信息化管理系统中通用性的组织机构、人员关系、角色管理、权限分配、初始化参数配置等功能提取出来而形成为公司业务管理应用提供基础平台支撑。以解决各产品用户交互体验一致性问题,提高开发人员、实施人员、运维效率以间接降低开发成本。下面谈一谈在开发企业信息化基础管理平台的过程中使用权限控制模型的一点感受。

1.权限控制模型介绍

权限控制模型是基于角色访问权限管理模型(RBAC:Role-Based Access Control)设计。RBAC作为当前使用范围最广的一种权限设计模型,有3个基础组成部分,分别是:用户、角色和权限。RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离。不同角色对应不同权限,用户可充当多个角色。

另外在角色之上还增加了岗位(一个岗位可关联多个角色,可对用户同时授予多个岗位和多种角色),以实现用户可能身兼多职(多个角色)的功能。引入岗位后,可将岗位和角色提前进行关联,配置账号时,管理员只要选定组织,系统就给出与该组织关联的岗位,而这些岗位,又是提前关联好角色的,选择起来,既方便又高效。

权限控制部分又分为数据权限和功能权限。

功能权限

定义:控制菜单与页面的操作功能的展示。

把模块菜单与操作关联到角色,

数据权限

定义:不同的用户登录系统后,所展示的数据是并不相同。

把角色关联到数据表,并对表中的数据操作(增加、删除、查看、修改)配置执行条件,在角色里的成员对数据表中的记录操作时,只能操作满足配置条件的数据。

例如:订单表授予角色”订单管理员“,授予的功能有(增加、删除、修改、查看),配置条件(管辖部门);而另一个角色”销售员“授予功能(查看),并且配置条件(字段为销售人为当前登录人)。

这样订单管理员角色就可以操作(增删改查)所管辖部门的所有数据;而销售员只能查看销售人是自己的数据。

2.使用RBAC好处

职能分配更方便:对于角色和岗位的的权限调整不仅仅只影响单个用户,而是会影响关联此角色的所有用户。对于批量的用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率。

权限管理更灵活:可以对一个角色授予模块(菜单)及模块的具体操作(按钮事件),并对模块归属表配置操作(增删改查)及其条件,这样可以更细粒度地进行权限分配及数据管理。

以上仅仅是个人在开发过程中使用权限模块时的一些感受,如有不当之处,欢迎指正!

猜你喜欢

转载自blog.csdn.net/tmuffamd/article/details/128659085