返回后台管理系统-......登陆

后台管理系统-权限访问控制功能

连界 现代 周伟2019-05-28 15:43:52350

<?php

namespace app\admin\controller;


use think\App;
use think\Controller;
use think\facade\Session;
use app\model\Groups as GroupsModel;
use app\model\Menu as MenuModel;

class Common extends Controller
{
   public function __construct()
   {
       parent::__construct();
       $username = Session::get('username');
       $gid = Session::get('gid');
       if (!$username) {
           $this->error('您还未登录!请返回登录!','Account/login');
       }
       $this->assign('username',$username);
       //判断用户是否有权限
       $group = GroupsModel::where('gid',$gid)->find();
//        dump($group);return false;
       if (!$group) {
           $this->requestError('对不起,您没有权限');
       }
       $rights = json_decode($group['rights']);
       //获取前当访问的控制器和方法
       $controller = request()->controller();
       $method = request()->action();
       $result = MenuModel::where(['controller'=>$controller,'method'=>$method])->find();
       if (!$result) {
           $this->requestError('对不起,您访问的功能不存在');
       }
       if ($result['status'] == 1){
           $this->requestError('对不起,该功能已被禁用');
       }
       if(!in_array($result['mid'],$rights)){
           $this->requestError('对不起,您没有操作权限');
       }
   }

   //定义请求错误返回信息方法
   private function requestError($msg)
   {
       if(request()->isAjax()){
           exit(json_encode(['code'=>1,'msg'=>$msg]));
       }
       exit($msg);
   }
}

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送
  • php.cn