为了账号安全,请及时绑定邮箱和手机立即绑定

PHP

标签:
Yii
<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
use think\Request;

class Base extends Controller
{
    public function _initialize()
    {
        if(empty(session('adminName')) || empty(session('adminId'))){
            $loginUrl = url('admin/login/login');
            if(request()->isAjax()){
                return msg(-1, $loginUrl, '登录超时');
            }
            $this->redirect($loginUrl);
		}
		$this->assign('adminName',session('adminName'));
		$this->assign('title','管理后台');

		$module = strtolower(request()->module());
		$controller = strtolower(request()->controller());
		$action = strtolower(request()->action());
		$url = '/' . $module . '/' . $controller . '/' . $action;

		$map['tab_level'] = 3;
		$map['url'] = $url;
		$tab_id = db('tab_list')->where($map)->value('id');
		
		//获取角色拥有的权限
		$roleArr = explode(',', db('admin_role')->where('id', session('role_id'))->value('role_action'));

		if ($tab_id) {
			if (!in_array($tab_id, $roleArr)) {
				
				if(request()->isAjax()){
					$this->error('对不起, 您没此权限操作', 'index/index');
	            }else{
	            	echo "没有权限";exit;
	            }
				
				
			}
		} 

        
    }

	
	public function showError()
	{
		return $this->fetch('index/error');
	}
	/*
	*加载菜单数据
	*/
	public function menuData($level,$parent_id){
		$info = Db::name('tab_list')
				->where('tab_level',$level)
				->where('parent_id',$parent_id)
				->order('ordering desc')
				->select();
		foreach($info as $k => $v){
			$data = $this->menuData($level+1,$v['id']);
			$info[$k]['sub_info'] = $data;
		}
		return $info;
	}
}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消