APP下载

基于.NET科研管理系统权限管理设计与实现

2013-05-08谦,刘

上饶师范学院学报 2013年6期
关键词:访问控制菜单页面

敖 谦,刘 华

(上饶师范学院,江西 上饶 334001)

引言

在科研管理系统中,涉及多种角色,例如:管理员、教师和科研处管理人员等。系统根据不同的角色自动生成各自的菜单,在每个页面中添加角色访问权限的代码,判断访问的用户是否能访问该页面。随着系统的应用不断深入,应用模块不断增加,角色也更加复杂,如果沿用之前在每个页面添加页面访问的代码,造成很多重复工作。因此需要找到一种灵活的权限控制方法,本文提出的用户菜单结合页面访问控制方法能很好的解决这个问题。

1 相关技术

1.1 站点地图

站点地图在ASP.NET中是一个Web.SiteMap的XML文件,位于Web站点的根目录下,对应系统中的所有导航菜单。导航菜单的每个菜单信息保存在一个节点中,节点信息包含有菜单对应页面的URL、菜单标题和菜单描述。

站点地图文件中,根节点名称SiteMap,包含有很多SiteMapNode标记的子节点,子节点允许嵌套,子节点的格式为:

<SiteMapNode(URL)(Title)(Description)></SiteMapNode>

1.2 HttpModule模块

ASP.Net处理Http Request时,使用 Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览器中,如图1所示。

从图1中可以发现,所有的HTTP请求都必须经过HttpModule模块,所以可以利用HttpModule模块对HTTP请求进行权限控制,放行有权限的用户请求,终止没有权限的用户请求,从而实现过滤器的作用。

图1 ASP.NET处理HTTP请求内部流程

2 系统权限管理设计

科研管理系统的权限管理分为:生成用户菜单、页面访问控制。

2.1 生成用户菜单

用户登录系统后,系统根据站点地图Web.sitemap文件,读取用户所属角色与菜单项对应表,最终生成用户的菜单,如图2所示。

图2 用户菜单生成处理

2.2 页面访问控制

当用户访问系统的某个页面时,根据系统自定义的HttpModule模块,对用户的HTTP请求进行权限的验证。用户有权限正常访问页面,否则重定向错误页面,如图3所示。

图3 页面访问控制处理

2.3 系统权限管理数据库设计

用户信息表

Yhid int用户账号 nvarchar(20)用户密码nvarchar(20)用户类型 nvarchar(50)…………

角色与菜单项对应表

类型编号 nvarchar(50)用户类型 nvarchar(50)管理类型 nvarchar(50)教师身份模块 int课题信息登记 int课题信息修改 int…………

角色与页面对应表

用户类型 nchar(10)页面nvarchar(50)

3 系统权限管理实现

3.1 用户菜单生成模块

用户登录成功后,读取角色与菜单项对应表,结合Web.sitemap站点地图文件,利用树型控件加载Create-Node函数生成的treenode结构数据。Web.sitemap文件内容:

CreateNode函数代码:

3.2 页面访问控制模块

自定义HttpModule模块代码:

系统会将所获取的HTTP请求提交自定义HttpModule模块,HttpModule模块根据Session[“usertype”]得到提交请求的用户角色类型,并通过委托事件application AcquireRequestState ,将用户角色类型与从数据库中得到的角色可访问的资源比较。若hasright函数返回False,则角色没有访问访问权限;反之,有访问权限。

4 结束语

通过生成用户菜单结合页面访问控制的方法,实现系统权限管理与页面功能模块松耦合,在实际的运行过程中得到很好的体现。

[1]王明,陆正球.基于MVC科研管理系统的研究与实现[J].微计算机应用,2009,(1):77-80.

[2]范明虎,樊红,伍孝金.ASP.net中基于RBAC的通用权限管理系统[J].计算机工程,2010,36(1):143-145.

[3]陈伟.ASP.NET 3.5网站开发实例教程[M].北京:清华大学出版社,2009.

[4]张文涛,常红星.基于ASP.NET的B/S架构下的项目管理系统的网络安全模式设计[J].计算机科学,2008,35(2):101-103.

猜你喜欢

访问控制菜单页面
刷新生活的页面
中国新年菜单
ONVIF的全新主张:一致性及最访问控制的Profile A
本月菜单
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
一个“公海龟”的求偶菜单
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术