1. 権限管理とは何ですか? 権限管理とは、バックエンド機能を細分化し、さまざまなスタッフのさまざまな作業を管理するものです
RBAC の方法管理は、さまざまなコントローラおよびコントローラのさまざまな方法に対する制限によって実現されていますか?
RBAC を実装するには、ユーザー テーブル、ロール テーブル、権限テーブルの 3 つのテーブルが必要です
ユーザー テーブル:
id ****** role_id
ロール テーブル
role_id **** * * access_ids (アクセス可能なすべての権限 ID を記録します)
権限テーブル
access_id
すべてのコントローラまたはコントローラ配下のアクションを記録します
2. 制御方法は、コントローラの親クラスまたはコントローラの初期化で作成するだけです。メソッド内での判定
$role_id = $_SESSION['role_id'];
$role = $db->role->findByPk($role_id);
$access = $db->access -> ;findAllByPk($role['access_id']);
ルータークラスに従って実行されるコントローラーまたはコントローラーメソッドを取得します
$m = current_method();//アクセスされる現在のメソッドを取得します
if( !in_array($m, $access)){
すごい}