《thinkphp5》四、用户、权限组以及权限的分配

用户、权限组以及权限的分配

一、权限组

权限组的意思就是一组权限的集合。在论坛等一些系统中,我们常常能够看到一些角色:游客,会员,管理员,超级管理员。他们的权限以及能够查看的板块都是不一样的。这样的角色我们也可以称作权限组。

二、用户,权限组(角色),权限的关系

如果每个用户都要分配一系列的权限,未免太麻烦了。所以,中间可以加一个权限组。

  • 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代码地址,查看admin模块:
https://github.com/mqy1023/tp5.1
在这里插入图片描述

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