人事工资管理权限模块设计
1 模块功能
对系统的所有资源(这里主要是指功能菜单,按钮,和数据表显示的列)进行权限控制,不同的用户分配不同的系统资源。
2 权限分类:
按流程分类:单位权限、部门权限、人事局权限
按级别分类:系统管理员、管理员、普通用户
数据表级别分类:增加、修改、删除、浏览
字段级别分类:浏览、修改
3 权限对象设计:
3.1 角色(role)
许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色权限具有包含关系,高级别的角色包含低级别角色的所有权限。高级别角色只能给低级别角色授权。
3.2 用户(user)
应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于某个角色。他的权限集是所属的角色具有的权限与属的组织具有的权限的合集。它与权限、角色、组织之间的关系都是n对n的关系。
3.3 权限(permissions)
系统的所有权限信息。权限具有上下级关系,是一个树状的结构。每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。
3.4 组织(organization)
实际应用领域对象,不同级别的组织硬性具有不同的权限,组织内都有不同的角色。领域模型中的组织是具有层次关系的,对权限而言,组织是同级别的。
3.5 资源项目(item)
系统所有能赋予权限限制的资源项目,包括菜单,按钮,显示列等。
4 数据库设计
4.1 角色表
表名 | RS_Role | 描述 | 角色表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 角色ID | RID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 角色名 | Role_Name | Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
03 | 组织ID | OID | Int |
|
| 是 |
|
|
|
|
| ||||||||
04 | 创建时间 | Create_Time Creae
| Date(8) | 否 |
|
|
|
|
|
|
| ||||||||
05 | 描述 | Description | Varchar(200) | 否 |
|
|
|
|
|
|
| ||||||||
说明: 此表用来保存角色信息。组织ID外键关联组织表组织ID |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.2 用户表
表名 | RS_User | 描述 | 用户表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 用户ID | UID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 所属角色 | RID | Int | 否 |
| 是 |
|
|
|
|
| ||||||||
03 | 登陆账号 | Login_Name Creae
| Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
04 | 用户密码 | Login_Password | Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
05 | 用户名称 | User_Name | Varchar(128) |
|
|
|
|
|
|
|
| ||||||||
06 | 创建时间 | Create_Time
| Date(8) |
|
|
|
|
|
|
|
| ||||||||
07 登陆数 | 登陆时间 | Login_Time | Date(8) |
|
|
|
|
|
|
|
| ||||||||
08 | 上次登陆时间 | Last_Login_Time | Date(8) |
|
|
|
|
|
|
|
| ||||||||
09 登陆 | 登陆次数 | Login_Count | int |
|
|
|
|
|
|
|
| ||||||||
说明: 此表用来保存系统用户信息,所属角色外键关联角色表角色ID |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.3 权限表
表名 | RS_Tright | 描述 | 权限表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 权限ID | TID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 权限名 | Tright_Name | Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
03 | 创建时间 | Create_Time Creae
| Date(8) | 否 |
|
|
|
|
|
|
| ||||||||
04 | 描述 | Description | Varchar(200) | 否 |
|
|
|
|
|
|
| ||||||||
说明: 此表用来保存权限信息 |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.4 组织表
表名 | RS_ organization | 描述 | 组织表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 组织ID | OID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 组织名 | Organization_Name | Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
03 | 创建时间 | Create_Time Creae
| Date(8) | 否 |
|
|
|
|
|
|
| ||||||||
04 | 描述 | Description | Varchar(200) | 否 |
|
|
|
|
|
|
| ||||||||
说明: 此表用来保存组织信息 |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.5 资源项目表
表名 | RS_ Item | 描述 | 项目表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 项目ID | IID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 资源ID | SID | Int | 否 |
|
|
|
|
|
|
| ||||||||
03 | 项目名 | Item_Name | Varchar(128) | 否 |
|
|
|
|
|
|
| ||||||||
04 | 组织ID | OID | Int | 否 |
| 是 |
|
|
|
|
| ||||||||
05 | 创建时间 | Create_Time Creae
| Date(8) | 否 |
|
|
|
|
|
|
| ||||||||
06 | 描述 | Description | Varchar(200) | 否 |
|
|
|
|
|
|
| ||||||||
说明: 此表用来保存项目信息,组织ID外键关联组织表组织ID,资源ID为程序中资源项目资源定义ID |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.6 角色权限表
表名 | RS_ Privilege | 描述 | 角色权限表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 角色权限ID | PID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 角色ID | Role_ID | int | 否 |
| 是 |
|
|
|
|
| ||||||||
03 | 项目ID | Item_ID Creae
| int | 否 |
| 是 |
|
|
|
|
| ||||||||
04 | 权限ID | Ability_ID | int | 否 |
| 是 |
|
|
|
|
| ||||||||
05 | 权限状态值 | Ability_Value | Int | 否 |
|
|
|
|
|
| 0,1 | ||||||||
说明: 此表用来保存用户权限信息,角色ID外键关联角色表角色ID;项目ID外键关联项目表项目ID,权限ID外键关联权限表权限ID |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
4.7 用户权限表
表名 | RS_ UserTright | 描述 | 用户权限表 | 数据 库名 |
|
| |||||||||||||
序号
| 域名描述 | 域标识 | 类型长度 | 是否必填 | 主键 | 外键 | Def | 下拉 菜单 | 是否另做表 | 是否根据其它 表单/字段生成 | 备 注 | ||||||||
01 | 用户权限ID | UTID | Int(4) | 是 | 是 |
|
|
|
|
|
| ||||||||
02 | 用户ID | User_ID | int | 否 |
| 是 |
|
|
|
|
| ||||||||
03 | 项目ID | Item_ID Creae
| int | 否 |
| 是 |
|
|
|
|
| ||||||||
04 | 权限ID | Ability_ID | int | 否 |
| 是 |
|
|
|
|
| ||||||||
05 | 权限状态值 | Ability_Value | Int | 否 |
|
|
|
|
|
| 0,1 | ||||||||
说明: 此表用来保存用户权限信息,用户ID外键关联用户表用户ID;项目ID外键关联项目表项目ID,权限ID外键关联权限表权限ID |
|
|
| ||||||||||||||||
作者 |
| 修订者 |
| 日期 | 2010-8-10 | 版本 | 1.0.0 |
| |||||||||||
5 界面设计
5.1 用户设置
说明:
系统用户树操作用户表
右边用户权限设置操作用户权限表
创建新用户时,用户权限默认继承为用户角色权限,可以在右边对特别的用户的权限进行特别设置。
系统中默认存在一个最高级别角色的用户(超级用户),具有所有资源所有权限,该用户不可删除,权限不可更改。
树右键菜单
弹出对话框
5.2 角色权限
说明:系统角色树操作角色表
右边角色权限设置操作角色权限表
超级用户登录后可以增加设置所有级别角色;其他用户登录设置用户角色以下的角色。
树右键菜单
弹出对话框
5.3 权限设置
超级用户才可以更改
表格右键菜单
5.4 组织设置
超级用户才可以更改
表格右键菜单
5.5 资源项目
超级用户才可以更改
表格右键菜单