基本上所有的项目都会涉及到权限的控制与处理。
这里将讲讲自己对权限控制的理解以及处理方法,本篇主要介绍权限的分配。
一、权限组
权限组的意思就是一组权限的集合。
在论坛等一些系统中,我们常常能够看到一些角色:游客,会员,管理员,超级管理员。他们的权限以及能够查看的板块都是不一样的。这样的角色我们也可以称作权限组。
二、用户,权限组(角色),权限的关系。
首先,要明确目的:要给用户分配权限。
要实现什么样的功能呢?
1.一个用户可以同时拥有多个权限
2.一个权限可以被多个用户所拥有
这样看来,用户和权限的关系应该是多对多,需要三个表就够了。
//**
但是,每个用户都要分配一系列的权限,未免太麻烦了。
所以,中间可以加一个权限组。
1.一个用户可以拥有多个权限组
2.一个权限组可以被多个用户所有
3.一个权限组可以拥有多个权限
4.一个权限可以被多个权限组所拥有
所以,应该是有3+2个表。3个主表:用户,权限组,权限;外加2个多对多的表
三、操作
1.给权限组(角色)分配权限
比如说现在的有3个权限,p1,p2,p3。有3个权限组“超级管理员”,“管理员”,“会员”
现在要给“超级管理员”分配p1,p2,p3权限。管理员分配p2,p3权限。会员分配p1权限,则中间表应该如下:
操作结果如下:
**
**
2.给用户分配权限组(角色)
现在有3个用户:jack,andy,tiger。分配jack为超级管理员,andy为管理员,andy为会员加管理员
重点:
通过用户查看拥有哪些权限
这里2种语句写法