在说权限管理前,应该先知道权限管理要有哪些功能:

  (1)、用户只能访问,指定的控制器,指定的方法

  (2)、用户可以存在于多个用户组里

  (3)、用户组可以选择,指定的控制器,指定的方法

  (4)、可以添加控制器和方法

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

v2-03db55103cea269a3e7ecdef84888553_720w.jpg

1.数据库的设计

写五张表,首先:用户表、角色表、功能表:

v2-b4f18b346ece2790ef1e27230eaaa129_720w.jpg

 

连接表的表..再来就是角色功能表与用户角色表:

v2-faed85518187eabd20b02de424c784c2_720w.jpg

2.管理员的管理页面,

(1).分别显示用户名和角色名

(2).根据下拉用户名的变化,更改相应复选框中的角色

(3).修改用户角色时,先要把用户对应角色表,这个用户所有的信息删除,再把取到的用户名和角色代号新添加。

利用下拉列表:嵌入php查询并遍历出来,以下拉列表的方式显示出来

v2-3aad96d70ed6005871e727c0195ae33f_720w.jpg

选择角色,用多选框:

v2-08b02eba685ed2aca752d27ce408ff89_720w.jpg

图:

v2-8ae25f5bb6e7bbc17787b5c0f268805b_720w.jpg

当用户发生变化的时候,相应的角色也相应变化,并且改变人员的角色信息,添加保存,添加保存的基本思路是先把数据库里人员对应的角色信息全部删除,然后再取到选中的部分,添加到数据库。

先来让他选中默认角色:

v2-4c983df5b1de3a2466f789e2ac615669_720w.jpg

来写他的处理页面:

v2-b4c3ca208712aab1bf12178dbfdcb38b_720w.jpg

我们看下最后结果,登录成功就会进入主页,登录失败会提示错误

v2-b441b8151306714b5cb0dbf7b4260025_720w.jpg

再来,保存按钮:

v2-ba89a5811691b6e09f66acd303218e7b_720w.jpg

处理页面:

 

 

v2-c9a2fbc74afe0c73ea33965adf8837af_720w.jpg

 

看效果:

v2-20519445423f0c3325a0b94ebe64b941_720w.jpg

 

默认选中角色;

更改以后选择保存:

 

v2-6ace1a0339c5f50390544f59cffb8663_720w.jpg

 

 

v2-54a93568b038bc6b35ef4ede843731f0_720w.jpg