ホームページ >バックエンド開発 >PHPチュートリアル >RBAC ロールベースの権限管理の簡単な実装

RBAC ロールベースの権限管理の簡単な実装

WBOY
WBOYオリジナル
2016-06-13 12:19:53973ブラウズ

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');

}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。