基于RBAC的信息化资源共享平台的建设与研究

2021-07-03 04:16王骏韦文亮
电子测试 2021年10期
关键词:资源共享许可信息化

王骏,韦文亮

(中国人民解放军95275部队,广西柳州,545000)

1 RBAC

1.1 RBAC模型概述

RBAC是Role-Based Access Control的简称,其含义是基于角色的权限控制系统,其兴起于上世纪90年代,直到现在仍然在众多系统中活跃。RBAC将权限控制的过程抽象成Who是否可以对What实施How操作,并对这个逻辑进行判断以返回是否为True的结果。也就是将访问权限转换为Who、What、How的三元组。

RBAC的三个核心元素是用户、角色和许可权,由于RBAC经历了多个版本,因此其组成元素稍有差异,但其核心元素依然是上述三者。基于RBAC的权限控制实际上是对用户、角色和权限的再分配的处理的集合。RBAC通过定义不同的角色并且赋予角色不同的权限从而来控制用户的权限,如此设计实现了用户和权限的逻辑分离,非常有利于权限分配和管理。

1.2 用户、角色、权限

角色是RBAC的核心,为了更好的分配权限,所有的用户都属于一个或多个角色(比如一位管理员,可能也是一位教师,那么其就应该是双重角色,具备这两个角色的权限之和),它们之间的关系如图1所示。

图1 用户、角色、权限直接的关系

权限一般是对某一个路由的操作许可,也可以理解为是否有许可操作某一流程,常见的许可有增(增加)、删(删除)、改(更改)、查(查询)等,而许可可以进一步细分为对某一项流程的许可,这样随着流程的增多,权限的条目就会变的复杂。

角色实际上是一个抽象,其是虚拟的可能并不存在,也可能是现实岗位功能的复制或部分复制,在系统的账户中可能会存在一个用户多重角色的现象,这对系统角色和权限的设计是个不小的考验。

用户即网站的注册用户,其注册后会自动获取默认的角色,当然也可以进行某些划分归为目标角色。

1.3 RBAC的优缺点

RBAC模型简化了用户和权限的关系,将复杂的关系抽象为简单的逻辑表达,容易扩展和维护,成为系统权限控制的热门选择,但RBAC模型没有顺序控制机制,这对于那些对操作顺序有要求的系统并不友好,但信息化资源共享平台并没有这一要求,因此RBAC模型适合此系统的权限控制。

1.4 RBAC设计

用户、角色、权限三者各自细分许可后,许可再与流程进行结合,就构成了RBAC权限控制模型,此处略去流程细节,仅抽象用户、角色、权限三者,并将其许可抽象为增、删、改、查以简化模型复杂度。

1.5 RBAC数据库设计

RBAC模型抽象化后,在数据库中可以简化为4张数据表用于控制整个系统的权限正常运行,这四张表如图2所示。rule表用于存放规则,item表用于存放角色和权限,child表用于存放授权条目的层次关系,assignment表用于存放授权条目对用户的指派情况。利用后台逻辑技术对四张数据表进行控制,即可实现RBAC模型鉴权。

图2 RBAC模型数据库设计

2 信息化资源共享平台

基础信息的建设是信息化教育发展的核心所在,信息化教学资源平台建设是把教师和学生所需的各种分散资源进行整合、分类和加工,最终实现教学资源共享。随着时间的流去,教学沉淀下的资料和经验不断增多,合理的管理这些资源并使其发光发热是亟待解决的问题,因此信息化资源共享平台的建设是有重大的需求基础的。

随着信息技术发展,高校对信息化资源建设也非常重视。2019年,成都工业职业技术学院的张蜀艳等,在《科技资源共享服务平台建设研究》中总结国内外科技资源共享服务平台建设的理论与实践经验,从我国实际出发提出适合中国特色的科技资源共享模型,探讨了制度化合作型科技资源服务平台作为将来最为理想共享模式的建设重点和内在逻辑;2020年,东北财经大学的陈丽萍在《大数据视角下的高校管理信息化建设研究》从整体以及逻辑层面对基于大数据的管理信息化建设进行了详细研究和阐述,并提出了建设模型。

2.1 信息化资源平台的访问流程

前台用户经过RBAC鉴权后进行分流,在RBAC的权限控制下进行相应的操作,最终操作的记录保存进数据库生成操作日志(图3),供管理存档。RBAC作为整个系统的鉴权功能,几乎存在与每一步的流程中,因此RBAC模型的设计完成之后,需要经过多次论证,以保证其对整个系统的控制是严谨并且高效的。

图3 信息化资源平台用例

2.2 信息化资源平台的功能设计

2.2.1 前端设计

考虑到移动设备的盛行,前端采用移动优先策略,并且自适应厂家的设备,这样可以满足用户在移动设备登录的情况下能够体验良好,国内的Element框架能够满足这一需求,可以其为基础进行设计以满足系统需要。

2.2.2 后端设计

后端的设计是整个系统的核心,处于效率和成本的考虑,会选择类Unix系统进行环境搭建和配置,MySQL能够支持百万级别的数据,而Linux在文件存取方面有较高的性价比,因此基于 LNMP(Linux、Nginx、MySQL、PHP)的环境,能够快速、高效的实现需求。后端的功能主要包括:

(1)用户功能:用于用户的管理,涉及到用户信息的更新与编辑、用户的注册与服务等模块。

(2)RBAC管理:本系统的权限控制模块,涉及到路由的管理,用户的授权和角色的建立以及规则的建立。

(3)资源管理:为本系统的核心功能,在RBAC鉴权的控制下,用户对系统内的资源进行按需访问,保障资源的有效运行,同时后台管理员对满足条件的资源进行相应的操作,以保障系统健康。

(4)积分管理:上传资源进行积分奖励,对违规资源或行为进行扣分,对优质资源进行评分,以提高用户参与度,积分管理涉及到详细的积分策略,是系统的重要模块。

3 总结与展望

随着高校对信息化建设的重视度的提高,对于信息化教学资源管理部门的设置也逐渐正规化。随着时间的推移,高校信息化资源建设也必将进入快车道,而信息化资源的建设也将与在线教育互相推进、相得益彰,从而推进信息教育的快速发展。

猜你喜欢
资源共享许可信息化
版权许可声明
交通运输数据资源共享交换体系探究与实现
版权许可声明
月“睹”教育信息化
月“睹”教育信息化
版权许可声明
福建省交通运输信息资源共享平台
幼儿教育信息化策略初探
本期作者介绍
卫康与九天绿资源共享