搜索
系统检测到您的用户名不符合规范:

thinkPHP5 权限验证 附数据表

浏览:1340 发布日期:2017年08月21日 分类:ThinkPHP5专区 关键字: 权限验证
http://v.badbabe.cn/dianying
这是一个后台的基类,控制器继承这个就可以了namespace app\admin\controller;
use think\Controller;

class Init extends Controller
{
public function _initialize()
{
$admin = session('admin');

if(empty($admin)){
$this->error('您还未登录,请登录后再来',url('login/index'),0);
}

$nodes = db('role')->where(['id'=>$admin['role_id']])->value('nodes');
$where = '1=1';
if($admin['role_id'] !=1){
$where .= ' and id in('.$nodes.')';
}
$node = db('node')->where($where)->select()->toArray();
foreach ($node as $k=>$v){
$urls[$k] = strtolower($v['url']);
$node[$k]['url'] = strtolower($v['controller'].'/'.$v['action']);
$node[$k]['controller'] = strtolower($v['controller']);
$node[$k]['action'] = strtolower($v['action']);
}

$controller = strtolower(request()->controller());
$action = strtolower(request()->action());
$url = 'admin/'.$controller.'/'.$action;
$urls[] = 'admin/index/index';
$this->assign('node',$node);
$this->assign('controller',$controller);
$this->assign('action',$action);

if(!in_array($url, $urls) && $admin['role_id'] != 1){
$this->error('您无权操作此内容');
}
}
}

附件 sql.zip ( 3.85 KB 下载:34 次 )

最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
PHPas菜鸟
积分:868 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /