首页 > 范文大全 > 正文

基于Web软件的权限动态管理设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Web软件的权限动态管理设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:在web应用软件中,权限管理是常见的功能,不同用户具有不同的软件使用权限,系统根据登录用户的角色来完成权限的审定,从而进入用户的软件使用界面。在实际应用中,登录用户的权限有时会根据实际情况发生变化,从而需要调整相应的用户权限,常规的权限管理无法适应权限的动态变化。为解决这种问题,设计了一种高效的权限管理方案,利用该方案实现了用户权限的动态管理,该设计方案已用于实际的软件项目中,极大地提高了权限管理的灵活性、方便性和高效性。

关键词:Web应用软件; 用户权限; 动态管理; 权限组; 权限管理方案

中图分类号:TP393.09 文献标识码:A

文章编号:1004-373X(2010)12-0047-04

Design and Accomplishment of Dynamic Authority Management Based on Web Software

ZHANG Zhi-qiang, YE An-sheng, GU Mu-song

(College of Information Science and Technology, Chengdu University, Chengdu 610106, China)

Abstract:The authority management is a rather common function in the Web applied software. Since different users possess different limits of authority, the system examines and approves a user′s limits of authority according to his role, and then allows him to enter the user interface. Sometimes the authority of the user who logins in may vary according to the actual situation, thus the user′s authority also need to be adjusted. As the common management of authority cannot adapt to the dynamic changes of authority, in order to manage the users′ authority, a more effective plan which can bring about a dynamic management of users′ authority was designed. The plan has already been applied to some practical software projects and has greatly improved the adaptability, convenience and effectiveness of the authority management.

Keywords:Web software; authority of user; dynamic management; authority group; plan of authority management

0 引 言

在Web应用软件中,权限管理是软件常见的功能,不同的用户具有不同的权限使用软件,当用户登录系统时,系统会根据登录用户的角色确定登录用户的权限,根据用户的权限进入不同的软件界面。在软件的实际应用中,有时需要改变用户的权限,常见的权限管理一般是通过对角色的切换来完成的。角色种类与权限一般在软件的前期设计中就已经确定,当角色种类与权限确定后就不容易改变,否则需要更改整个软件的设计方案,这就是常规的角色管理,常规的角色管理无法灵活地适应实际情况的变化。为解决该缺陷,能够灵活地适应权限的变化,在软件的权限管理中需要以动态方式管理和维护角色,从而达到动态设置用户权限的目的。通过动态的权限管理,将极大地提高用户权限的管理效率[1-3]。

1 权限组的设计

在Web软件如科研管理系统中,系统管理员、校科技处老师、一般教师、系科研秘书、系主任等角色的权限在开发系统时就已确定,它们可以以不同角色的用户登录系统后进入不同的管理界面。在实际应用中,用户角色可能会发生变化,例如教师可能在一般教师、系科研秘书、系主任、校科研处老师等不同角色之间变动,这样当其角色变换后,在不改变用户登录帐号的情况下应改变其权限。另外,角色种类以及角色的权限信息也可能会发生改变,需要对角色进行新增、删除、更新等维护操作。采用常规的角色管理方式无法适应这种动态变化的情况,从而使整个系统的权限管理效率大大降低。为了解决这些问题,设计一种类似于Windows用户组的权限管理方案,该方案将系统角色作为权限组,通过对权限组的动态管理,高效地实现了用户权限的动态管理,该方案的关键是对权限组的管理。

权限组管理模型如图1所示[4]。

当权限组创建完成后,每个权限组代表一种角色,对权限组的权限进行设置后,将不同的用户登录帐号放入权限组中,该用户就具有所属权限组中的所有权限功能,当动态调整权限组的权限时,隶属于该权限组中的用户权限就会自动改变,系统也具有对权限组完成新增、修改与更新等维护操作的功能。通过这种方式实现了用户权限的动态管理[5]。

图1 权限组管理模型图

实现权限组管理的关键是权限组的权限设置,其通过权限信息串来体现。在系统中设置了很多复选框列表Checkboxlist控件,每个复选框列表控件中放置了6个Checkbox控件,每个Checkbox控件代表1个功能模块,每个Checkboxlist表示1组功能模块的组合,根据对控件是否选择的判定,可以组成“1”或“0”的字符串数据作为该权限组的权限信息串,当Checkbox控件被选则时,表示为“1”,否则表示为“0”。设计界面如图2所示。

图2 权限组的权限信息串设置界面

有些Checkbox控件代表的是保留功能,这些保留的Checkbox控件就是扩展功能模块的预留接口,通过这些预留接口可以为系统增加新的权限功能。通过这种设计,系统管理员可以利用控件的选择来动态改变权限,系统则可以根据控件的选择状态动态构建权限信息串,经过加密后将其存储到数据库中,这样不仅可以防治非法的窜改,还可以从数据库中提取并解密还原为原始的权限信息串。

这种管理方式能够以集合方式组织权限组的权限功能模块,极大地提高权限管理的灵活性、方便性和高效性。权限组管理子模块的界面如图3所示。

在该模块中,权限组信息是通过Gridview控件完成维护操作的,当权限组创建成功后,通过对权限组的维护来调整系统角色及其权限信息。

权限组管理模块功能如图4所示。

图3 权限组管理界面

图4 权限组管理功能模块图

当权限组创建完成后,设定用户所属的权限组,该用户就具有设定权限组的权限功能,当用户登录系统时,系统首先从数据库中读取所属权限组的权限信息串,然后经过解密还原为原始的“..10..”信息串,根据信息串动态组合不同的功能模块并显示对应的功能模块控件,进入不同的软件使用界面。权限组应用的数据处理流程如图5所示。