.net快速开发平台

工作流+智能表单
帮助企业快速应对变化
基于web信息管理系统的权限设计分析和总结(数据结构)

1、基于web信息管理系统的权限设计分析和总结(理论)

2、基于web信息管理系统的权限设计分析和总结(数据结构)

3、基于web信息管理系统的权限设计分析和总结(实现)

 

看过基于web信息管理系统的权限设计分析和总结(理论)的一些网友问道,能不能给出这个权限模型的实现,其实模型是一个解决给定问题的理论指导,具体的实现可以有多种方式,可能根据您的项目的实际情况有所不同,这里给出一个是基于sql server数据库的实现。这里提到的只是一些基本的权限信息,您当然可以扩展更多的权限信息。

 

首先需要定义的是基本权限单位的数据库模型,用下表来表示:(这个表不是独立存在的,而是合并到表单信息表 角色权限表中)

限类型

字段名称

类型

意义

操作权限

AddAction

bit

新增

ModifyAction

bit

修改

DeleteAction

bit

删除

SearchAction

bit

查询

字段权限

(字段之间以逗号 , 分割)

ReadOnlyColumnsOnAdd

Nvarchar(1000)

只读字段(新增)

HiddenColumnsOnAdd

Nvarchar(1000)

隐藏字段(新增)

ReadOnlyColumnsOnModify

Nvarchar(1000)

只读字段(修改)

HiddenColumnsOnModify

Nvarchar(1000)

隐藏字段(修改)

HiddenColumnsOnSearch

Nvarchar(1000)

隐藏字段(查询)

纪录权限

(一段表示权限范围的语句,在本实现中,就是一个sql语句的片断)

 

ReadOnlyRecords

Nvarchar(1000)

只读纪录

HiddenRecords

Nvarchar(1000)

隐藏纪录

 

接下来是表单信息表,表单信息表有一些基本的表单信息,例如表单名称等,同时表单信息表也拥有以上的基本权限数据,这些权限信息构成了表单的固有权限属性(静态权限),一个简单的表单信息表如下所示:

表单信息表:Forms

 

字段名称

类型

意义

 

 

FormID

Nvarchar(100)

表单ID

FormName

Nvarchar(100)

表单名称

AddAction

bit

新增

表单的固有权限属性

(静态权限)

ModifyAction

bit

修改

DeleteAction

bit

删除

SearchAction

bit

查询

ReadOnlyColumnsOnAdd

Nvarchar(1000)

只读字段(新增)

HiddenColumnsOnAdd

Nvarchar(1000)

隐藏字段(新增)

ReadOnlyColumnsOnModify

Nvarchar(1000)

只读字段(修改)

HiddenColumnsOnModify

Nvarchar(1000)

隐藏字段(修改)

HiddenColumnsOnSearch

Nvarchar(1000)

隐藏字段(查询)

ReadOnlyRecords

Nvarchar(1000)

只读纪录

HiddenRecords

Nvarchar(1000)

隐藏纪录

 

下面就是角色表了,角色表相当简单,只包含一个角色名称就可以了:

角色表:Roles

段名称

类型

意义

RoleID

Nvarchar(100)

角色ID

RoleName

Nvarchar(100)

角色名称

 

定义好了角色表,接下来就是角色权限了,就是角色在每个表单上的权限表现形式,当前这个表就需要跟角色以及表单有关了,具体的结果如下:

角色权限表: RolePurview

字段名称

类型

意义

 

 

 

RolePurviewID

Nvarchar(100)

主键

FormID

Nvarchar(100)

表单ID

外键,关联到表单信息表的FormID

RoleID

Nvarchar(100)

角色ID

外键,关联到角色表的RoleID

AddAction

bit

新增

表单的角色权限属性

(动态权限)

ModifyAction

bit

修改

DeleteAction

bit

删除

SearchAction

bit

查询

ReadOnlyColumnsOnAdd

Nvarchar(1000)

只读字段(新增)

HiddenColumnsOnAdd

Nvarchar(1000)

隐藏字段(新增)

ReadOnlyColumnsOnModify

Nvarchar(1000)

只读字段(修改)

HiddenColumnsOnModify

Nvarchar(1000)

隐藏字段(修改)

HiddenColumnsOnSearch

Nvarchar(1000)

隐藏字段(查询)

ReadOnlyRecords

Nvarchar(1000)

只读纪录

HiddenRecords

Nvarchar(1000)

隐藏纪录

 

当然要完成整个模型,还需要用户信息表以及用户角色表

用户信息表:Users

字段名称

类型

意义

UserID

Nvarchar(100)

用户ID

UserName

Nvarchar(100)

用户名称

 

用户角色表:UserInRoles

段名称

类型

意义

UserInRoleID

Nvarchar(100)

主键

UserID

Nvarchar(100)

用户ID

外键,关联到用户表的UserID

RoleID

Nvarchar(100)

角色ID

外键,关联到角色表的RoleID

 

到目前为止,我们完成这个模型所需要的表都出场了,下面的图表示了他们之间的关系:

 

 

在下节中将实现具体的权限的计算公式

posted on 2009-06-02 11:50  chegan  阅读(5064)  评论(24编辑  收藏  举报