简单权限管理设计

这套权限管理是配合Zend Framework设计的,用在其余地方的时候能够作些修改。数据库

1、表构成

  1.总共有七张表组成框架

  2.管理员信息表(sys_user)、系统模块信息表(sys_module)与用户分组信息表(sys_group)这三张是独立的表,没有与其余表发生关系。数据库设计

  3.用户分组信息表(sys_action)保存的就是一个个的操做行为,要控制的权限就是这些操做。函数

  4.分组与用户信息表(sys_group_user)保存是用户与分组的关系,将一个个用户分组能够方便用组来控制权限。spa

  5.用户权限控制信息表(sys_acl_user)用于保存一个个用户单独的权限。设计

  6.分组权限控制信息表(sys_acl_group)用于保存一个个组的权限。blog

 

2、关系说明

1)管理员(sys_user)能够是一只羊,例以下面的懒羊羊。权限控制

2)懒羊羊所在的分组(sys_group_user)就是他的家,在他家里能作的操做就是组的权限(sys_acl_group)。it

3)他在家里能作不少事情(sys_acl_group),例如躺着吃蛋糕、坐着吃蛋糕、站在窗户旁边吃蛋糕等(sys_action)。io

4)他能作不少事情(sys_acl_user),例如靠在树下睡觉、躺在草地上睡觉或坐在秋千上睡觉等(sys_action)。

 

3、数据库设计

1)管理员信息表(sys_user)

userID INT 管理员编号
userAccount VARCHAR 管理员登陆帐号
userPasswd VARCHAR 管理员登陆密码

 

2)系统模块信息表(sys_module)

moduleID INT 模块编号
moduleKey VARCHAR

模块Key,就是ZF框架中的Controller层的名字,例如SystemController,就保存为system

moduleName VARCHAR 模块中文名称

 

3)用户分组信息表(sys_group)

groupID INT 用户分组编号
groupName VARCHAR 用户分组名称

 

4)模块功能信息表(sys_action)

actionID INT 功能编号
moduleKey VARCHAR 所属模块名,对应的就是表2中的moduleKey,例如system
actionKey VARCHAR

功能key,就是Controller各个文件中的Action函数,例如addAction函数,保存进来的就是open

actionName VARCHAR

功能的中文名称

 

5)分组与用户信息表(sys_group_user)

id INT 编号
groupID INT 分组编号
userID INT 用户编号

 

6)用户权限控制信息表(sys_acl_user)

id INT 权限编号
userID INT 用户编号
actionID INT 功能编号
access TINYINT 使用权限, 1:容许, 0:禁止

 

7)分组权限控制信息表(sys_acl_group)

id INT 权限编号
groupID INT 分组编号,与表6的区别
actionID INT 功能编号
access TINYINT 使用权限, 1:容许, 0:禁止

 

4、判断权限过程

流程图中的access就是分组权限控制信息表(sys_acl_group)或用户权限控制信息表(sys_acl_user)中的字段。

相关文章
相关标签/搜索