checkVersion(); //升级包消息 //$this->assign('upgradeMsg',$upgradeMsg); //用户中心面包屑导航 $navigate_admin = navigate_admin(); $this->assign('navigate_admin',$navigate_admin); //腾讯云地址前缀 $qclurl=QCLOUD_IMGURL; $this->assign('qclurl',$qclurl); tpversion(); } /* * 初始化操作 */ public function _initialize() { $this->request->isAjax() ? define('IS_AJAX',true) : define('IS_AJAX',false); // ($this->request->method() == 'GET') ? define('IS_GET',true) : define('IS_GET',false); // ($this->request->method() == 'POST') ? define('IS_POST',true) : define('IS_POST',false); // define('MODULE_NAME',$this->request->module()); // 当前模块名称是 define('CONTROLLER_NAME',$this->request->controller()); // 当前控制器名称 define('ACTION_NAME',$this->request->action()); // 当前操作名称是 define('PREFIX',C('database.prefix')); // 数据库表前缀 $this->assign('action',ACTION_NAME); //过滤不需要登录的行为 if(in_array(ACTION_NAME,array('login','logout','vertify','forget_pwd')) || in_array(CONTROLLER_NAME,array('Ueditor','Uploadify'))){ //return; }else{ if(session('manager_id') > 0 ){ $this->check_priv();//检查管理员菜单操作权限 }else{ $ck=Cookie::get('manager_id'); if($ck) { $admin_info = M('manager_admin')->alias('a')->join('manager_role b', 'a.manager_role_id=b.manager_role_id', 'INNER')->where("a.manager_id = " . $ck)->find(); session('manager_id', $ck); session('act_list', $admin_info['manager_act_list']); session('last_login_time', time()); session('last_login_ip', getIP()); $this->check_priv();//检查管理员菜单操作权限 }else{ $this->error('请先登录', U('manager/landing/login'), 1); } } } $this->public_assign(); } /** * 保存公告变量到 smarty中 比如 导航 */ public function public_assign() { $tpshop_config = array(); $tp_config = M('config')->select(); foreach($tp_config as $k => $v) { $tpshop_config[$v['inc_type'].'_'.$v['name']] = $v['value']; } $this->assign('tpshop_config', $tpshop_config); } public function check_priv() { $ctl = CONTROLLER_NAME; $act = ACTION_NAME; $act_list = session('act_list'); //无需验证的操作 $uneed_check = array('login','logout','vertifyHandle','vertify','imageUp','upload','login_task'); if($ctl == 'Index' || $act_list == 'all'){ //后台首页控制器无需验证,超级管理员无需验证 return true; }elseif(strpos($act,'ajax') || in_array($act,$uneed_check)){ //所有ajax请求不需要验证权限 return true; }else{ $right = M('manager_menu')->where("id", "in", $act_list)->getField('right',true); foreach ($right as $val){ $role_right .= $val.','; } $role_right = explode(',', $role_right); //检查是否拥有此操作权限 if(!in_array($ctl.'@'.$act, $role_right)){ $this->error('您没有操作权限,请联系超级管理员分配权限',U('manager/Index/welcome')); } } } public function ajaxReturn($data,$type = 'json'){ exit(json_encode($data)); } }