亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

實(shí)現(xiàn)權(quán)限訪問控制功能

original 2019-03-12 01:43:57 200
abstrait://在基類控制器中實(shí)現(xiàn)訪問控制 <?php namespace app\admins\controller; use think\Controller; use util\SysDb; class Base extends Controller {   public function __co
//在基類控制器中實(shí)現(xiàn)訪問控制
<?php
namespace app\admins\controller;
use think\Controller;
use util\SysDb;
class Base extends Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->_admin = session('admin');

    if(empty($this->_admin)){
      $this->redirect('Account/login');
    }
    $this->db = new SysDb;

    $role = $this->db->table('roles')->where(['gid'=>$this->_admin['gid']])->item();

    if($this->_admin['username']!='admin' && empty($role)){
        session('admin',null);
        $this->errorInfo('對不起,您還沒有分配角色,無法訪問后臺');
    }

    $controller = request()->controller();
    $method = request()->action();
    $res = $this->db->table('menus')->where(['controller'=>$controller,'method'=>$method])->item();
    if(!$res){
        $this->errorInfo('對不起,您訪問的菜單不存在');
    }
    if($res['status']){
        $this->errorInfo('對不起,您訪問的菜單已禁用');
    }
    if($this->_admin['username']!='admin'){
        $rights = !empty($role['rights'])?json_decode($role['rights'],true):[];
        if(!in_array($res['menu_id'],$rights)){
            $this->errorInfo('對不起,您沒有權(quán)限訪問該菜單');
        }
    }
  }
  private function errorInfo($msg)
  {
      if(request()->isAjax()){
          exit(json_encode(['code'=>1,'msg'=>$msg]));
      }else{
          exit($msg);
      }
  }
}
 ?>


Professeur correcteur:韋小寶Temps de correction:2019-03-12 09:26:45
Résumé du professeur:寫的非常不錯 權(quán)限在網(wǎng)站中還是很重要的 沒個人的角色不同給定的權(quán)限當(dāng)然也是不同的

Notes de version

Entrées populaires