用戶、權限組以及權限的分配
一、權限組
權限組的意思就是一組權限的集合。在論壇等一些系統中,我們常常能夠看到一些角色:遊客,會員,管理員,超級管理員。他們的權限以及能夠查看的板塊都是不一樣的。這樣的角色我們也可以稱作權限組。
二、用戶,權限組(角色),權限的關係
如果每個用戶都要分配一系列的權限,未免太麻煩了。所以,中間可以加一個權限組。
- 1.一個用戶可以擁有多個權限組
- 2.一個權限組可以被多個用戶所有
- 3.一個權限組可以擁有多個權限
- 4.一個權限可以被多個權限組所擁有
所以,應該是有3個主表:用戶(tp_auth_admin
),權限(tp_auth_rule
),權限組(tp_auth_group
);
外加2個多對多的表 (可減到一個表,其中一個權限組和權限多對多的表,可以合併到權限組主表中) ,另外一個是用戶和權限組多對多的tp_auth_group_access
表
三、操作
- 1、管理用戶(
tp_auth_admin
)表
uid | user | name | password |
---|---|---|---|
1 | admin | 超級管理員 | 123456 |
2 | manager | 管理員 | 123456 |
3 | member | 會員 | 123456 |
- 2、權限(
tp_auth_rule
)表
pid
表示父權限的id
,爲0
時表示根權限
id | path | title | pid |
---|---|---|---|
1 | # | 首頁 | 0 |
2 | admin/home | 系統信息 | 1 |
3 | # | 用戶管理 | 0 |
4 | admin/userList | 用戶列表 | 3 |
5 | admin/groupList | 用戶組列表 | 3 |
- 3、給權限組(角色)
tp_auth_group
分配權限
比如說: (可減到一個表,其中一個權限組和權限多對多的表,可以合併到權限組主表中)
tp_auth_rule
權限表有4個權限rule:1, 2, 3, 4
tp_auth_group
權限組表有3個權限組:admin(超級管理員),manager(管理員), member(會員)
tp_auth_group
權限組表(有對應的權限rules
):
id | title | rules | status |
---|---|---|---|
1 | 超級管理員 | 1,2,3,4 | 1 |
2 | 管理員 | 1,3,4 | 1 |
3 | 會員 | 2,3 | 1 |
- 4、用戶和權限組(角色)
tp_auth_group_access
表
uid | group_id |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
2 | 2 |
3 | 3 |