php中权限管理的描述,php之 人员的权限管理(RBAC)

php之 人员的权限管理(RBAC)

1. 想好权限管理的作用?

2. 有什么权限内容?

3. 既然有权限管理那么就会有管理员?

4. 登录后每个人员的界面会是不一样的?

一、想好这个权限是什么?

就做一个就像是 vip 的功能,普通用户和 vip 用户的功能是不一样的,先来考虑一下数据库怎么设计

肯定要有用户表、还有用户所用的角色、然后就是权限功能表;可是在这里面有关联也就 是会另外有两张相互关联的表,这样也就是 5 张表

在数据库中建好这五张表:

(1)用户表、角色表、功能表

ab7653affab982b574eb7acc55df2e04.gif   

ab7653affab982b574eb7acc55df2e04.gif 

ab7653affab982b574eb7acc55df2e04.gif

(2)主表中的外键关系得两个表:用户与角色表、角色与功能表

ab7653affab982b574eb7acc55df2e04.gif    

ab7653affab982b574eb7acc55df2e04.gif

二、建好表之后就是开始写代码了,首先是管理员的页面

注意:这里只写了用户和角色的管理界面,没有写角色和功能的管理页面,但是它们都是一样的,会其一就会其二了

可以选择用户,然后根据选择复选框来给他们添加说是删除一些功能

(1)先可以显示出想要的效果:比如用户的选择可以用下拉列表请选择用户:

//这里是遍历数据库中的用户表

看下效果:

ab7653affab982b574eb7acc55df2e04.gif

下拉列表中还没有值,是因为还没有进行数据库操作

(2)链接数据库操作,遍历出数据库中的用户(遍历数据库前面的随笔中已经写过很多遍了)//只是遍历数据库就可以,不用传值的话,就不用写传值数据和传值方式了

$.ajax({

url:"admain_cl.php",//用户的处理界面

dataType:"TEXT",//返回的数据类型

success:function(data){

//处理页面执行成功后将要执行的代码处

}

})

});

(3)用户的处理界面<?php

include("DBDA.class.php");//调用封装好的数据库类

$db=newDBDA();//造新对象

$sql="select * from users";//查询语句,查询用户表中的所有信息

echo $db->StrQuery($sql);//执行封装类中的字符串转换方法

?>

封装类中的字符串转化方法:<?php

classDBDA

{

public$host="localhost";//使用的什么连接,这里是本地连接方式

public$uid="root";//数据库用户

public$password="123";//用户的密码

public$dbname="test1";//使用的数据库名

//返回字符串的方法

publicfunctionStrQuery($sql,$type=1)

{

$db=newMySQLi($this->host,$this->uid,$this->password,$this->dbname);

$r=$db->query($sql);//执行查询语句

if($type==1)

{

$attr=$r->fetch_all();

$str="";

foreach($attras$v)

{

$str.=implode("^",$v)."|";//拼接数组为字符串

}

returnsubstr($str,0,strlen($str)-1);//截取字符串:最后的拼接符不显示

}

else

{

return$r;

}

}

?>

(4)处理页面写好了之后,就可以写主页面中,执行处理页面成功后的代码了success:function(data){

varhang=data.split("|");//分割行

varstr="";

for(vari=0;i

{

varlie=hang[i].split("^");//分割列

str+=""+lie[2]+"";//拼接下拉列表项:想要显示的是用户名,所以表中索引是2代表了name,给这个项的值是代号,下面将会用到

}

$("#uid").(str);//将值写入下拉列表中

}

经过这 4 步后看下结果:数据库中用户表中的数据就可以遍历出来了

ab7653affab982b574eb7acc55df2e04.gif

(5)用户写好之后,就是角色了,可以使用复选框的方式显示,这里还是可以用 ajax,和上面一样的方法,不多说直接上代码

还是先要写个 div 放这个复选框

请选择角色:

//遍历放值的地方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值