您的位置:首页 > 数据库

系统的权限管理

2016-03-09 21:28 302 查看
转自:http://blog.csdn.net/A123638/article/details/50374555

我只是进行了一个学习,整理

设计目标

设计一个灵活、通用、方便的权限管理系统

一、相关概念

1.权限

系统的所有权限信息。权限具有上下级关系,是一个树状的结构。

例如:

系统管理

用户管理

查看用户

新增用户

修改用户

删除用户

对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人

2.用户

应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属各角色具有的权限、所属各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。

3.角色

为了对多个拥有相似权限的用户进行分类管理,定义了角色的概念。例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。

4.组

为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、权限信息。
例如QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高级群等。

四个对象之间的关系:



二、数据库设计

1.本系统至少需要十张表,分别为:

权限表

用户表

角色表

组表

用户权限关联表

用户角色关联表

角色权限关联表

组权限关联表

组角色关联表

用户属组关联表

2.PowerDesigner中的各表

PowerDesigner中设计文件下载地址:



3.表结构设计

3.1 用户表(TUser)

字段名称字段类型备注
记录标识tu_idbigintpk, not null
所属组织to_idbigintfk, not null
登录帐号login_namevarchar(64)not null
用户密码passwordvarchar(64)not null
用户姓名vsernamevarchar(64)not null
手机号mobilevarchar(20)
电子邮箱emailvarchar(64)
创建时间gen_timedatetimenot null
登录时间login_timedatetime
上次登录时间last_login_timedatetime
登录次数countbigintnot null

3.2 角色表(TRole)

字段名称字段类型备注
角色IDtr_idbigintpk, not null
父级角色IDparent_tr_idbigintnot null
角色名称role_namevarchar(64)not null
创建时间gen_timedatetimenot null
角色描述descriptionvarchar(200)

3.3权限表(TRight)

字段名称字段类型备注
权限IDtr_idbigintpk, not null
父权限parent_tr_idbigintnot null
权限名称right_namevarchar(64)not null
权限描述descriptionvarchar(200)

3.4 组表(TGroup)

字段名称字段类型备注
组IDtg_idbigintpk, not null
组名称group_namevarchar(64)not null
父组parent_tg_idbigintnot null
创建时间gen_timedatetimenot null
组描述descriptionvarchar(200)

3.5 角色权限表(TRoleRightRelation)

字段名称字段类型备注
记录标识trr_idbigintpk, not null
角色Role_idbigintfk, not null
权限right_idbigintfk, not null
权限类型right_typeintnot null(0:可访问,1:可授权)

3.6 组权限表(TGroupRightRelation)

字段名称字段类型备注
记录标识tgr_idbigintpk, not null
tg_idbigintfk, not null
权限tr_idbigintfk, not null
权限类型right_typeintnot null(0:可访问,1:可授权)

3.7 组角色表(TGroupRoleRelation)

字段名称字段类型备注
记录标识tgr_idbigintpk, not null
tg_idbigintfk, not null
角色tr_idbigintpk, not null

3.8 用户权限表(TUserRightRelation)

字段名称字段类型备注
记录标识tur_idbigintpk, not null
用户tu_idbigintfk, not null
权限tr_idbigintfk, not null
权限类型right_typeintnot null(0:可访问,1:可授权)

3.9 用户角色表(TUserRoleRelation)

字段名称字段类型备注
记录标识tur_idbigintpk, not null
用户tu_idbigintfk, not null
角色tr_idbigintfk, not null

3.10 用户组表(TUserGroupRelation)

字段名称字段类型备注
记录标识tug_idbigintpk, not null
用户tu_idbigintfk, not null
tg_idbigintfk, not null

3.11组织表(TOrganization)

字段名称字段类型备注
组织idto_idbigintpk, not null
父组parent_to_idbigintnot null
组织名称org_namevarchar(64)not null
创建时间gen_timedatetimenot null
组织描述descriptionvarchar(200)

3.12操作日志表(TLog)

字段名称字段类型备注
日志IDlog_idbigintpk, not null
操作类型op_typeintnot null
操作内容contentvarchar(200)not null
操作人tu_idbigintfk, not null
操作时间gen_timedatetimenot null

三、概要设计说明书

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计 数据库 结构