权限管理系统设计与研究 下载本文

内容发布更新时间 : 2024/5/19 16:37:53星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

权限管理系统设计与研究

作者:王欣颖 覃章健 苟攀

来源:《中国新通信》2016年第16期

【摘要】 权限管理系统主要实现权限授予、权限验证的功能[1]。权限授予实现对模块的某个功能的操作许可,组成权限数据库,为用户分配角色,实现授权。权限验证通过实现定义好的权限数据库,判断该用户是否对某个模块的某个功能具有操作权限。根据实际需要及教学辅助系统的需求,采用基于角色访问控制技术RBAC(Role Based Access Control)实现权限管理系统,实现用户、角色、资源等的分配与管理。

【关键字】 权限管理 角色访问控制 RBAC 教学辅助系统 引言

权限管理,一般指根据系统设置的安全规则或者安全策略,采用安全授权和角色相联系的原则,只有成为相应的角色组成员,才能获得对应的权限且只能访问被授权的资源。逻辑表述为:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。角色可以根据部门中不同的工作创建,再根据用户的责任和资格分配资源,用户就可以获得对应的权限。随着新功能的增加和删减,角色可以分配更多的权限,也可以根据需要撤销相应的权限。 一、权限管理系统描述

权限的核心部分是Who(权限主体)+ What (Which)(资源)+ How(具体权限)的问题,实现What和部分Which的权限问题,即创造权限、分配权限、使用权限。

基于角色的访问控制方法(RBAC),是目前公认的解决大型企业的统一资源访问控制的有效方法。对应用系统的所有对象资源和数据资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮、数据显示以及各种行级数据进行权限的操控。 二、权限管理系统设计

每个权限,可分为访问权限和可授权权限,如果用户只授予了访问权限,则他不能分配给其他人访问。

2.1 用户、角色、组

用户(user)是权限的具体操作者,根据拥有的权限信息,可以归属于0~n个角色,可属于0~n个组。用户的权限集是用户权限、角色权限、组权限的合集。

龙源期刊网 http://www.qikan.com.cn

角色(role)是实现对相似权限的用户进行分类管理,如管理员、用户、访客等。角色具有上下级关系,父角色的权限是自身和所有子角色的权限的综合,形成树状的权限结构。基于角色的权限系统,只为角色分配权限,用户都隶属于角色,不再单独为用户分配角权限。 组(group)是对用户进行分组归类,实现角色的合理分配,更好地管理用户。同时组也可以具有自己的角色信息、权限信息。 2.2 权限数据库设计

理清权限设计的思路和各对象之间的关系后,对权限管理进行数据库建模,对象之间的关系,一般需要加入一个关联表来示关联的两者的关系。实现形式如图1所示:

三、权限管理原理及实现

目前使用较为广泛的开源权限框架以spring security、apache shiro为主,也有采用基础的设计,定制符合系统的权限管理。考虑到整个项目的需要及实际应用,项目中采用自定义的方式实现权限的管理。

项目中采用自定义权限管理对项目的各项操作实现私人定制。建立一个权限管理类(AuthMethod),使用注解的形式管理controller层的资源操作。默认base权限(基本操作权限,如访问、登陆、注销、注册等),引入权限注解的操作,都需要权限验证, 只有权限验证通过后才能看到角色所具有的权限。其实现原理为:第一、在项目工程启动的初始化过程中,初始化整个资源的权限信息;第二、初始化用户角色组权限;第三、初始化加载在controller层的AuthMethod注解,具体化用户的访问权限。

龙源期刊网 http://www.qikan.com.cn

在用户访问的时候,采用EL表达式权限的具体操作对用户的权限经行验证,根据用户具有的权限分配操作,杜绝非法用户越权访问。对用户的密码等敏感信息使用MD5加盐加密技术加密,并定期对数据库信息进行备份,防止数据库因某种原因被破坏。 四、结束语

项目中采用定制权限的方式实现权限管理,为项目需要量身制作,更好的使用及控制。对系统的所有对象资源和数据资源进行权限控制,引入注解机制,对资源的具体操作进行严格控制,权限标签加上EL表达式的权限控制,对数据显示、界面按钮、功能菜单等加以控制,更合理有效地管理及使用系统资源。 参 考 文 献

[1] 祖 峰,熊忠阳,冯 永.信息系统权限管理新方法及实现.重庆大学学报;2003.11第26卷11期.

[2] 朱磊,周明辉,刘天成,梅宏. 一种面向服务的权限管理模型.计算机学报;2005.04第28卷第4期.