class BaseAdmin extends Controller
{
# public function __construct(){
// Controller 裡有__construct魔術方法,我們直接繼承呼叫
parent::__construct();
// 1,先公用方法裡的看是否登入。未登錄,去登入頁面。
// 就需要建立登入頁面和方法
$this->_admin = session('admin');
// 未登入的使用者不允許訪問
if(!$this->_admin){
header('Location: /admins/Account/login');
exit;
}
$this->assign('admin',$this->_admin);
// 判斷使用者是否有權限
$this-> ;db = new Sysdb;
$group = $this->db->table('admin_groups')->where(array('gid'=>$this->_admin[ 'gid']))->item();
if(!$group){
$this->request_error('對不起,您沒有權限');
}
$rights = json_decode($group['rights']);
// 目前存取功能表
// 99,request()- >controller(); 取得目前檔案
// 99,request()->action(); 取得目前方法
$controller = request()->controller() ;
$action = request()->action();
// 99,查詢選單表(admin_menus),找到檔案名稱和方法名,相同的那個選單。注意:選單的方法名稱和檔案名,不要重複
$res = $this->db->table('admin_menus')->where(array('controller'=>$controller ,'method'=>$action))->item();
if(!$res){
$this->request_error('對不起,您訪問的功能不存在');
}
if($res['status']==1){
$this->request_error('對不起,該功能已禁止使用');
}
if(!in_array($res['mid'],$rights)){
$this->request_error ('對不起,您沒有權限');
}
}
#
自問自答