《thinkphp》四、用戶、權限組以及權限的分配

用戶、權限組以及權限的分配

一、權限組

權限組的意思就是一組權限的集合。在論壇等一些系統中,我們常常能夠看到一些角色:遊客,會員,管理員,超級管理員。他們的權限以及能夠查看的板塊都是不一樣的。這樣的角色我們也可以稱作權限組。

二、用戶,權限組(角色),權限的關係

如果每個用戶都要分配一系列的權限,未免太麻煩了。所以,中間可以加一個權限組。

  • 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

github代碼地址
https://github.com/mqy1023/tp5.1
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章