图书馆门户系统中基于角色的权限管理系统的研究与实现
2012-08-08王龙军
王龙军
(成都工业学院,四川 成都 611730)
1.引言
访问控制是通过某种途径显示的准许或限制访问能力及范围,从而限制对目标资源的访问,防止非法用户的侵入或合法用户的不慎操作所造成的破坏。目前流行的访问控制模型有自主访问控制模型 (Discretionary Access Control,DAC)、强制访问控制模型(Mandatory Access Control,MAC)和基于角色的访问控制模型 (Role-Based Access Control,RBAC)。
其中基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:(1)减小授权管理的复杂性,降低管理开销;(2)灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
本文结合高校图书馆门户系统的现状,采用当前流行的基于角色的访问管理模型,设计和实现了满足图书馆门户系统中管理后台资源的权限管理系统,达到减轻系统管理员工作强度、降低授权管理的出错几率、提高系统安全性的目的。
2.基于角色的访问控制模型的基本思想
系统管理员可以根据职能或机构的需求策略来创建角色、给角色分配权限,并给用户分配角色,用户能够访问的权限由该用户拥有的角色权限集合决定,即把整个访问控制过程分成2步:访问权限与角色相关联,角色再与用户关联,从而实现用户与访问权限的逻辑分离。
3.基于角色的权限管理系统的实现
本系统采用B/S模型结构设计,以ASP.NET作为开发Web的语言,数据库采用SQL Server 2000,其中数据库为libdb,用户数据表为users,开发平台采用VS2005。本系统采用URL授权来授予角色对目录的访问权限,将同一角色所访问资源的权限存放在同一个文件夹下,然后将文件夹的访问权限分配给相应的角色,只有具有授权角色的用户才能访问该文件夹,从而防止非授权角色的用户访问指定的目录。
本系统的具体实现步骤如下:
3.1 启用角色管理
使用Roles类实现用户角色功能时,首先需要在system.web配置节下设置允许使用用户角色管理:
3.2 把ASPNETDB.MDF合并到自己的SQL Server 2000数据库libdb中
在ASP.NET权限管理模型中,默认情况下成员资格管理、角色管理与个性化用户配置所使用的数据表都存储在"App_Data"文件夹下名称为aspnetdb.mdf的SQL Server 2005 Express实例文件中。如果要把aspnetdb.mdf数据库中的成员的角色关系添加到SQL Server 2000的数据库中,需要利用aspnet_regsql.exe工具来完成这个功能,在Visual Studio 2005命令提示下输入aspnet_regsql,会弹出一个对话框,一直点"下一步"按钮,直到看到有“选择服务器和数据库“的选项时,选择自己的数据库libdb。
3.3 启用URL授权
(1)拒绝匿名用户即游客访问网站,如果访问跳转到Login.aspx登录页,在system.web配置以下设置:
(2)下面的配置内容表示只有在角色为manage的用户登录后才能访问manage文件下的aspx页面。
(3)下面的配置内容表示只有在角色为member的用户登录后才能访问member文件下的aspx页面。
(4)创建相关页面和在运行时使用角色
以下代码演示用户是否属于系统管理员(manage)角色为例,判定用户的角色是否存在,如果用户没创建角色,则创建角色,根据用户的角色,然后分配相应的访问权限。
4.结语
本文在分析基于角色的访问控制模型的基本思想的基础上,采用ASP.NET作为开发语言,设计并实现在图书馆门户系统后台管理中基于角色的用户访问控制系统,简便有效地控制用户对系统权限资源的访问,该系统具有良好的扩展性、灵活性、操作简便等特点,在实际运行过程中取得良好的运行效果。
[1]罗俊,颜一鸣.基于.NET的用户权限管理设计与实现[J].电脑知识与技术,2009,5(29).
[2]李晓燕,管群.NET下基于角色的访问控制的应用[J].计算机安全,2008,(01).
[3]杨剑,闪四清.ASP.NET环境下基于角色的权限控制的实现[J].计算机技术与发展,2007,17(5).