thinkphp6 のバックエンド システムがログイン リダイレクトを次々と実行しない場合はどうすればよいですか?
与时赛跑
与时赛跑 2022-08-27 17:38:37
0
1
1136

class BaseAdmin extends Controller

{

public function __construct(){

// Controller には __construct マジック メソッドがあり、それを直接継承して呼び出します

parent::__construct();

// 1. まず public メソッドを使用して、ログインしているかどうかを確認します。ログインしていない場合は、ログインページに移動します。

// ログイン ページとメソッドを作成する必要があります

$this->_admin = session('admin');

// ログインしていないユーザーは許可されませんアクセスするには

if(!$this->_admin){

header('Location: /admins/Account/login');

exit;

}

$this->assign('admin',$this->_admin);

// ユーザーに権限があるかどうかを判断します

$ this-> ;db = 新しい 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 ('申し訳ありませんが、権限がありません');

}

}

与时赛跑
与时赛跑

全員に返信(1)
手机用户6999042

質疑応答

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!