ホームページ >バックエンド開発 >PHPチュートリアル >RBAC ロールベースの権限管理の簡単な実装
RBAC のロールベースの権限管理の簡単な実装
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->gt ;findAllByPk($role['access_id) ']);
ルーター クラスに従って実行されるコントローラーまたはコントローラー メソッドを取得します
$m = current_method();//現在のアクセスを取得します
if(!in_array($m, $access)){
redirect('/index');}