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