abstrakt:<?phpnamespace 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{
<?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);
//判斷用戶是否有權(quán)限
$group = GroupsModel::where('gid',$gid)->find();
// dump($group);return false;
if (!$group) {
$this->requestError('對不起,您沒有權(quán)限');
}
$rights = json_decode($group['rights']);
//獲取前當(dāng)訪問的控制器和方法
$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('對不起,您沒有操作權(quán)限');
}
}
//定義請求錯(cuò)誤返回信息方法
private function requestError($msg)
{
if(request()->isAjax()){
exit(json_encode(['code'=>1,'msg'=>$msg]));
}
exit($msg);
}
}
Korrigierender Lehrer:天蓬老師Korrekturzeit:2019-05-28 15:59:45
Zusammenfassung des Lehrers:權(quán)限控制是基于會(huì)話機(jī)制的, 所有項(xiàng)目都是以這個(gè)為基礎(chǔ), 其實(shí)也不難學(xué), 對不對?