class BaseAdmin은 Controller
를 확장합니다
{
public function __construct(){
// Controller에는 __construct 매직 메소드가 있으며, 직접 상속하여
parent::__construct();
// 1, public을 호출합니다. 먼저 해당 메소드에서 로그인 여부를 확인하세요. 로그인하지 않으셨다면 로그인 페이지로 이동하세요.
// 로그인 페이지와 메소드를 생성해야 합니다
$this->_admin = session('admin');
// 로그인하지 않은 사용자는 액세스할 수 없습니다
if(!$this-> _admin) {
header('위치: /admins/Account/login');
종료;
}
$this->ass('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('죄송합니다. 권한이 없습니다.');
}
}