這套權限管理是配合Zend Framework設計的,用在其餘地方的時候能夠作些修改。數據庫
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
1)管理員(sys_user)能夠是一隻羊,例以下面的懶羊羊。權限控制
2)懶羊羊所在的分組(sys_group_user)就是他的家,在他家裏能作的操做就是組的權限(sys_acl_group)。it
3)他在家裏能作不少事情(sys_acl_group),例如躺着吃蛋糕、坐着吃蛋糕、站在窗戶旁邊吃蛋糕等(sys_action)。io
4)他能作不少事情(sys_acl_user),例如靠在樹下睡覺、躺在草地上睡覺或坐在鞦韆上睡覺等(sys_action)。
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:禁止 |
流程圖中的access就是分組權限控制信息表(sys_acl_group)或用戶權限控制信息表(sys_acl_user)中的字段。