数据库权限设计

作者: simple波 | 来源:发表于2018-02-02 10:19 被阅读30次

1 设计思路

为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。

1.1 用户

用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。

用户通常具有以下属性:

ü 编号,在系统中唯一。

ü 名称,在系统中唯一。

ü 用户口令。

ü 注释,描述用户或角色的信息。

1.2 角色

角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:

ü 编号,在系统中唯一。

ü 名称,在系统中唯一。

ü 注释,描述角色信息

1.3 权限

       权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:

ü 编号,在系统中唯一。

ü 名称,在系统中唯一。

ü 注释,描述权限信息

1.4 用户与角色的关系

一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如

l 用户(User):

UserID      UserName      UserPwd

1                   张三                 xxxxxx

2                   李四                 xxxxxx    

……

l 角色(Role):

RoleID           RoleName          RoleNote

       01                  系统管理员       监控系统维护管理员

       02                  监控人员          在线监控人员

       03                  调度人员          调度工作人员

       04                  一般工作人员   工作人员

       ……

l 用户角色(User_Role):

UserRoleID           UserID           RoleID           UserRoleNote

1                       1                   01                  用户“张三”被分配到角色“系统管理员”

2                        2                   02                  用户“李四”被分配到角色“监控人员”

3                        2                   03                  用户“李四”被分配到角色“调度人员”

……

       从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。

1.5 权限与角色的关系

一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。例如:

l 角色(Role):

RoleID           RoleName          RoleNote

       01                  系统管理员       监控系统维护管理员

       02                  监控人员          在线监控人员

       03                  调度人员          调度工作人员

       04                  一般工作人员   工作人员

       ……

l 权限(Permission):

PermissionID      PermissionName       PermissionNote

0001                        增加监控                 允许增加监控对象

0002                        修改监控                 允许修改监控对象

0003                        删除监控                 允许删除监控对象

0004                        察看监控信息       允许察看监控对象

……

l 角色权限(Role_Permission):

RolePermissionID   RoleID PermissionID RolePermissionNote

1                             01            0001        角色“系统管理员”具有权限“增加监控”

2                             01            0002        角色“系统管理员”具有权限“修改监控”

3                             01            0003        角色“系统管理员”具有权限“删除监控”

4                             01            0004        角色“系统管理员”具有权限“察看监控”

5                             02            0001        角色“监控人员”具有权限“增加监控”

6                             02            0004        角色“监控人员”具有权限“察看监控”

……

2.2 数据库表说明

2.2.1 用户表(Static_User)

UserID    路线编号varchar(20)

UserName    用户名称varchar(20) 

UserPwd    用户密码varchar(20) 

LastSignTime    最后登陆时间datatime 

SignState    用户登陆状态标记int 

TickeID    验证票记录编号varchar(128) 

2.2.2 角色表(Static_Role)

RoleID    角色编号varchar(20)

RoleName    角色名称varchar(20) 

RoleNote    角色信息描述varchar(20) 

2.2.3 用户-角色表(Static_User_Role)

UserRoleID    用户角色编号varchar(20)

UserID    用户编号varchar(20)

RoleID    角色编号varchar(20)

UserRoleNote    用户角色信息描述varchar(20) 

2.2.4 权限表(Static_Permission)

PermissionID    编号varchar(20)

PermissionName    权限名称varchar(20) 

PermissionNote    息信息描述varchar(20) 

2.2.5 角色-权限表(Static_Role_Permission)

RolePermissionID    角色权限编号varchar(20)

RoleID    角色编号varchar(20)

PermissionID    权限编号varchar(20)

RolePermissionNote    角色权限信息描述varchar(20) 

转自http://www.cnblogs.com/cxd4321/archive/2009/01/12/1374140.html

相关文章

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • 权限管理

    权限管理分为 功能权限和数据权限 功能权限: 哪些人可以做什么操作数据权限: 哪些人可以看哪些数据 数据库表设计 ...

  • java 权限设计方案分析

    方案1: 数据库设计:用户表(拥有角色id),角色表,权限表(权限标识,名称,父子层级),角色和权限关联表toke...

  • 数据库权限设计

    1设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具...

  • 数据库权限设计

    基于 RBAC(Role-based Access Control)权限访问控制。也就是说一个用户可以有多个角色,...

  • 小程序--数据库

    如何修改数据库权限选中数据库==>权限设置即可。。。。

  • 设计-RBAC数据库的设计与使用

    文章-如何设计数据库表实现完整的RBAC(基于角色权限控制)【RBAC】打造Web权限控制系统 推荐两个组件 ar...

  • 数据库平台规划

    数据库平台能力 补充:安全管控权限申请→权限审核→权限下放→权限回收 数据库集中管理 业务需求→产品&版本&网段服...

  • MongoDB - 用户与权限

    切换数据库 创建用户 所有权限 指定数据库所有权限 指定数据库指定权限 db01 和 db02 库读写权限,其他库...

  • Oracle_Day03

    权限 系统权限:用户对数据库的相关操作权限 我通过system不仅要赋予user1登录到数据库的权限,还要...

网友评论

    本文标题:数据库权限设计

    本文链接:https://www.haomeiwen.com/subject/lpeszxtx.html