三、控制器获取json的数据参数,判断权限的添加与修改。如果是添加,就向funadmin表中添加受理权限人id与要授权的权限id作为一条数据。修改即删除符合条件的一条数据。同理。
public function chanefun(){
$m=M('funadmin');
$where['funclaid']=I('post.id',0,'int');
$where['adminid']=I('post.uid',0,'int');
$type=I('post.type',0,'int');
if(empty($type)){
$oid=$m->where($where)->getfield('id');
$m->delete($oid);
return;
}
$m->data($where)->add();
}
四、真实权限判断。前面都是为权限判断做准备的,现在才是真正的判断,基本原理是把要判断的权限名称与当前登录用户id拿到funadmin表中对比,如有发现则,说明该用户有权限,即显示,否则影藏。影藏了是看不到链接地址,但是如果知道地址则可以通过地址直接访问。
(1)前台判断显示与否。调用了自定义方法chackQ();
<if condition="chackQ('任务管理')">
<li><a href="{:U('taskinfo/dir')}" rel="external nofollow" >任务管理</a></li>
</if>
(2) 具体对比操作。
function chackQ($name,$state=false){
if(!$state){ exit; }
$fun=M('funcla');
$funclaid=$fun->where(array(claname=>$name))->getfield('id');
$m=M('funadmin');
$adminid=session('admin_userid');
$reset=$m->where(array(funclaid=>$funclaid,adminid=>$adminid))->find();
if(empty($reset)){
echo "你没有权限";
exit;
}
return $reset;
}
至此,整个权限控制基本完成。
以上这篇thinkphp自定义权限管理之名称判断方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
ThinkPHP整合datatables实现服务端分页的示例代码下面小编就为大家分享一篇ThinkPHP整合datatables实现服务端分页的示例代码,具有很好的参考价值,希望对大家有所帮
thinkphp3.2.0 setInc方法 源码全面解析下面小编就为大家分享一篇thinkphp3.2.0 setInc方法 源码全面解析,具有很好的参考价值,希望对大家有所帮助。一起跟
tp5(thinkPHP5)操作mongoDB数据库的方法这篇文章主要介绍了tp5(thinkPHP5)操作mongoDB数据库的方法,结合实例形式简单分析了mongoDB数据库及thinkPHP5连接、查询Mo
在云虚拟主机部署thinkphp5项目的步骤详解thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,那么下面这篇文章就来给大家
Thinkphp5行为使用方法汇总这篇文章主要介绍了Thinkphp5行为使用方法汇总,需要的朋友可以参考下
thinkphp5 加载静态资源路径与常量的方法这篇文章主要介绍了thinkphp5 加载静态资源路径与常量的方法的相关资料,需要的朋友可以参考下