系统的权限管理
2016-03-09 21:28
302 查看
转自:http://blog.csdn.net/A123638/article/details/50374555
我只是进行了一个学习,整理
例如:
系统管理
用户管理
查看用户
新增用户
修改用户
删除用户
对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人
例如QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高级群等。
四个对象之间的关系:
用户表
角色表
组表
用户权限关联表
用户角色关联表
角色权限关联表
组权限关联表
组角色关联表
用户属组关联表
我只是进行了一个学习,整理
设计目标
设计一个灵活、通用、方便的权限管理系统一、相关概念
1.权限
系统的所有权限信息。权限具有上下级关系,是一个树状的结构。例如:
系统管理
用户管理
查看用户
新增用户
修改用户
删除用户
对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人
2.用户
应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属各角色具有的权限、所属各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。3.角色
为了对多个拥有相似权限的用户进行分类管理,定义了角色的概念。例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。4.组
为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、权限信息。例如QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高级群等。
四个对象之间的关系:
二、数据库设计
1.本系统至少需要十张表,分别为:
权限表用户表
角色表
组表
用户权限关联表
用户角色关联表
角色权限关联表
组权限关联表
组角色关联表
用户属组关联表
2.PowerDesigner中的各表
PowerDesigner中设计文件下载地址:3.表结构设计
3.1 用户表(TUser)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tu_id | bigint | pk, not null |
所属组织 | to_id | bigint | fk, not null |
登录帐号 | login_name | varchar(64) | not null |
用户密码 | password | varchar(64) | not null |
用户姓名 | vsername | varchar(64) | not null |
手机号 | mobile | varchar(20) | |
电子邮箱 | varchar(64) | ||
创建时间 | gen_time | datetime | not null |
登录时间 | login_time | datetime | |
上次登录时间 | last_login_time | datetime | |
登录次数 | count | bigint | not null |
3.2 角色表(TRole)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
角色ID | tr_id | bigint | pk, not null |
父级角色ID | parent_tr_id | bigint | not null |
角色名称 | role_name | varchar(64) | not null |
创建时间 | gen_time | datetime | not null |
角色描述 | description | varchar(200) |
3.3权限表(TRight)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
权限ID | tr_id | bigint | pk, not null |
父权限 | parent_tr_id | bigint | not null |
权限名称 | right_name | varchar(64) | not null |
权限描述 | description | varchar(200) |
3.4 组表(TGroup)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
组ID | tg_id | bigint | pk, not null |
组名称 | group_name | varchar(64) | not null |
父组 | parent_tg_id | bigint | not null |
创建时间 | gen_time | datetime | not null |
组描述 | description | varchar(200) |
3.5 角色权限表(TRoleRightRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | trr_id | bigint | pk, not null |
角色 | Role_id | bigint | fk, not null |
权限 | right_id | bigint | fk, not null |
权限类型 | right_type | int | not null(0:可访问,1:可授权) |
3.6 组权限表(TGroupRightRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tgr_id | bigint | pk, not null |
组 | tg_id | bigint | fk, not null |
权限 | tr_id | bigint | fk, not null |
权限类型 | right_type | int | not null(0:可访问,1:可授权) |
3.7 组角色表(TGroupRoleRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tgr_id | bigint | pk, not null |
组 | tg_id | bigint | fk, not null |
角色 | tr_id | bigint | pk, not null |
3.8 用户权限表(TUserRightRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tur_id | bigint | pk, not null |
用户 | tu_id | bigint | fk, not null |
权限 | tr_id | bigint | fk, not null |
权限类型 | right_type | int | not null(0:可访问,1:可授权) |
3.9 用户角色表(TUserRoleRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tur_id | bigint | pk, not null |
用户 | tu_id | bigint | fk, not null |
角色 | tr_id | bigint | fk, not null |
3.10 用户组表(TUserGroupRelation)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
记录标识 | tug_id | bigint | pk, not null |
用户 | tu_id | bigint | fk, not null |
组 | tg_id | bigint | fk, not null |
3.11组织表(TOrganization)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
组织id | to_id | bigint | pk, not null |
父组 | parent_to_id | bigint | not null |
组织名称 | org_name | varchar(64) | not null |
创建时间 | gen_time | datetime | not null |
组织描述 | description | varchar(200) |
3.12操作日志表(TLog)
字段名称 | 字段 | 类型 | 备注 |
---|---|---|---|
日志ID | log_id | bigint | pk, not null |
操作类型 | op_type | int | not null |
操作内容 | content | varchar(200) | not null |
操作人 | tu_id | bigint | fk, not null |
操作时间 | gen_time | datetime | not null |
三、概要设计说明书
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 一步一步跟我学易语言之第二个易程序菜单设计
- 第三章 数据库备份和还原
- 注册表的组织结构
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法