当前位置:首页 期刊杂志

RBAC在图书馆门户网站访问控制中的应用

时间:2024-09-03

夏文忠 单长吉

(昭通学院物理与电子信息工程学院,云南 昭通 657000)

高校图书馆门户网站是图书馆所有数字资源的入口,读者通过图书馆门户网站即可快速、方便地访问图书馆的所有馆藏数字资源。当前大部分高校图书馆已拥有多种馆藏数字资源,但这些数字资源都是由不同的管理信息系统负责管理与维护,每个系统都有自己的管理方式,这使得读者在使用图书馆馆藏数字资源时困难重重。多个系统、多种使用方式对读者访问数字资源造成了困难。

本文提出了基于角色控制的图书馆门户网站解决方案,使得读者可以通过图书馆自建的统一身份认证[1]系统完成一次登录、多个系统通用的访问策略。

1 基于角色的访问控制模型

RBAC是基于角色的访问控制模型,它满足最小权限给予、责任分离和数据抽象[2]的安全原则。最小权限原则是授予用户能正常使用完成业务操作最小的权限集。责任分离原则是通过调用相互独立互斥的角色来共同完成敏感的任务,比如图书馆采编业务员与图书馆资产管理员共同参与图书的验收业务。抽象的数据通过权限的抽象化来体现,如校内用户通过Internet访问图书馆数字资源可以通过增加虚拟金额获得资源下载权限,而不用对所有用户都提供资源下载权限。

2 RBAC在图书馆门户中的应用

2.1 基于RBAC的系统角色及访问控制设计

基于RBAC的图书馆门户系统需要满足实用性、方便性、稳定性和完全性的系统性能要求,需要完成包括用户登录、用户身份鉴别、权限管理和用户角色分配等功能。

图1 RBAC模型

本系统采用RBAC模型,分别涉及管理员Admin实体类、读者Readers实体类、访客Guests实体类、角色RoleBean实体类、角色许可分配Authority-Bean实体类、Action实例及实现数据库CRUD操作的DAO类。

管理员类在图书馆门户系统中包括两类子实体:一是系统管理员;另一类是负责具体的业务功能的图书管理员。图书馆管理员的具体权限根据各自的分工不同再做相应的划分。例如:负责采购的管理员只能操作图书查重和图书编目,负责浏览的管理员只能操作读者图书的外借与归还。读者类中包括教职工和学生两类子实体,但他们的基本权限是相同的,都能通过自己的图书证号登录图书馆的门户系统获得相应的资源访问权限。访客类实体只能访问图书馆公开的信息资源。角色RoleBean实体定义系统各级实体类所对应的访问权限,角色许可分配实体类把角色和与之对应的实体应具有的权限一一对应并分配相应的权限。DAO负责操纵数据库实现数据的查询、删除、更新以及增加操作。

2.2 图书馆系统模块设计

高校图书馆门户系统提供服务的对象是广大读者。为了区分读者是否拥有访问本馆资源的权限,需要对访问用户进行身份认证。当使用图书馆提供的借阅证号进行登录并成功进入系统后,认为是本馆合法用户,否则认为是访客用户。对于系统合法用户,通过系统定义的借阅证号判断用户是否为教职工用户或学生用户。但所有读者用户都可以使用图书馆的所有数字资源,并可操纵自己的读者基本信息。

对于管理员组的角色,细分为系统管理员组和业务管理员组。系统管理员可以修改图书馆门户的页面展现,开启或关闭相应的网站页面功能,查看或修改系统运行参数,备份或还原图书馆门户的数据库表。图书馆门户站点中的业务管理员组可以操作图书馆的某一子类信息,比如纸质图书采购管理、编目管理、流通借还管理、读者管理等类别,通过对相应组别的管理来实现权限管理。

访问类实体在本系统中占用一定的信息访问量,他们可能是需要了解本校图书馆的师生员工,也可能是外校或者通过Internet访问的访客,他们只能访问图书馆对外公开的基本信息,不能访问图书馆的数字资源。

根据几类实体的分析整理,得到如图2所示的图书馆系统模块设计。

图2 图书馆系统模块设计图

3 基于SSH框架的图书馆门户的设计

3.1 图书馆功能权限控制功能设计

图书馆门户是图书馆数字资源的入口,一旦有非法用户获得了高级别的访问权限,将会对图书馆整个资源库造成巨大的危害。故在选用RBAC基本模型的基础上,使用开源的SSH框架来保证系统的完全性和稳定性。在SSH[3]框架中,Struts2负责页面展示和参数传递,Spring负责解决对象之间的依赖问题[4],简化对象的获取,核心业务逻辑的运算。Hibernate实现数据库操作的对象化,为Spring和Struts2提供稳定的健壮的持久化操作。

图书馆门户作为图书馆数字资源的门户站点,由管理员、读者和访客这3类实体组成。根据各实体自身特征分别给予其不同的角色,再通过各自的角色获得相应的权限。其角色权限配置如图3所示。

图3 图书馆角色权限配置

根据图书馆所要实现的功能需求,其权限控制与管理模块的数字库设计如图4所示。

3.2 SSH框架在图书馆门户的应用

SSH框架是一个开源的轻量级框架,是J2EE框架中集中主流、高效的框架,由展现层的Struts2、业务逻辑层的Spring和数据库持久层的Hibernate技术组成。在图书馆门户站点的应用中,使用Struts2进行页面展示和用户数据传递。而Struts2是以拦截器为操作核心的技术,故图书馆门户也以拦截器为基础进行开发配置。拦截器拦截用户的访问请求,判断用户的请求类型,然后根据相应的请求类型作出对应的请求跳转。如果用户获得某一类角色权限,那么他将能处理该角色可以操作的相应权限;如果用户未获得此用户权限,那么通过Struts2的拦截器Action跳转到低级别的访问权限角色中执行。

图4 图书馆RBAC管理模块ER模型

Spring是页面截面编程技术的集大成者,它可以最大限度地实现各功能模块间的低耦合,而对业务系统保持低侵入。图书馆门户系统中的Spring负责处理通过Struts2拦截器拦截跳转过来的业务请求,当用户拥有管理员组的权限时,Spring负责调用业务处理类,处理用户请求。Struts2把未获得角色相应权限的用户传递给Spring业务逻辑,则Spring调用业务逻辑把处理请求转发到低一级别的处理模块,直到角色和权限匹配。通过Spring处理的业务请求,再调用Hibernate处理数据库DAO类实现数据库的CRUD操作。待操作完成后结果将返回给Spring业务控制器,通过Spring业务控制器再返回给Struts2展示Action,完成整个系统流程。

4 结语

本文结合工作实际,以基于角色的RBAC模型为基础,用轻量级的SSH框架设计了一个满足图书馆应用的身份识别与权限管理系统。本文解决问题的思路和方法为开发类似信息系统提供了一个方向,具有开发类似系统的分析设计参考价值。

[1]李冰.用户统一身份认证系统的设计与实现[D].哈尔滨:哈尔滨理工大学,2005.

[2]任中方,张华.MVC模式研究的综述[J].计算机应用研究 ,2004(10):1-2.

[3]冯润民.基于SSH的高校学生管理系统设计与实现[J].计算机工程,2009(6):280-281.

[4]吴波,王晶.基于基本RBAC模型的权限管理框架的设计与实现[J].计算机系统应用,2011(4):50-52.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!