殷维刚 舒付祥 胡波 李霄
一、引言
ASP.NET为网络系统设计提供的强大的设计功能,其使用简单,易于上手,是开发网络系统不错的选择。在网络系统设计中,用户权限管理是不可缺少的部分,其设计方法对于许多新手来说是一个较为复杂的问题。作者通过开发实践,提供了一种基于角色用户关系的页面权限管理通用方法,这也是实际学习中的一些体会,与大家分享,希望可以起到抛砖引玉的作用。
二、数据库设计
为了实现权限管理的功能,系统开发中借鉴了Windows的用户角色管理方法。在数据库设计中共用了5个表。其中信息表有三个:UserCode,RoleCode,ModuleCode,分别代表用户信息表,用户组信息表和模块页面信息表。为了表达这三者之间的关系,建立两个关系表:UserRole和RoleModule,分别代表用户与用户组关系、用户组与模块关系。具体数据库关系图1如下:
具体思路是:用户在完成系统注册后,系统管理员可以对其进行管理,给用户分配不同的用户组,也就是根据需要对其权限进行定制。同一用户可以属于不同的用户组,其使用权限为所赋予用户组的权限的最大限度,用户组为用户权限的集合,它与模块页面间建立关系,不同的角色可以访问不同的页面集合,整个系统授权过程可以由具备系统管理权限的用户来完成。
三、权限管理功能实现
系统权限管理功能有添加用户、管理用户、添加用户组、管理用户组、添加模块、管理模块等六项功能。其中添加用户、添加用户组、添加模块等功能对数据表UserCode,RoleCode,ModuleCode分别进行插入操作即可,比较简单,这里不再进行介绍,下面重点对用户管理、用户组管理、模块管理及这三者之间的相关关系进行重点介绍:
1、 用户管理
用户管理主要是对用户进行删除与授权管理,其管理界面如图2示,当点击授权后,可以调出所有用户组并选择要加入的用户组。
|