ホームページ  >  記事  >  バックエンド開発  >  パーミッションコントロールの考え方_PHPチュートリアル

パーミッションコントロールの考え方_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:14:501005ブラウズ

データベーステーブル構造

リーリー

MVC 構造を使用し、URL を通じて対応するモジュール、クラス、関数にアクセスすると仮定します。

テーブルの最初の行は操作を表し、title は操作名を表し、menu_id はそれが属するメニュー オプションを表し、module はモジュール名を表し (見つからない場合は省略できます)、class はクラス名を表し、method は関数名

さらに、ユーザー グループ テーブルも必要です。これはおおよそ次のとおりです:

access_listに保存されている現在のユーザーグループが所有する権限ID(前の権限テーブルのIDに対応)

もちろん、ユーザーグループテーブルに対応するユーザーテーブルも必要です

group_idで表されるユーザーに対応するユーザーグループ

次のような URL にアクセスしたとき:

http://testApp.test.com/index.php/module/testModule/testClass/testAction

ルーティング分析を通じて、対応するデータを取得します。

モジュール->テストモジュール

クラス->テストクラス

関数 -> テストアクション

3 つのパラメーターを使用して、権限テーブル内のデータを検索し、一意の ID 値を取得します。

次に、ユーザー グループの access_list 内のデータを比較します。データにこの ID が含まれている場合、現在のユーザーは現在の操作に対する権限を持っています。それ以外の場合は、権限がありません。

それでは、ユーザーが許可を持っている場合にのみメニューオプションが表示されるように制御するにはどうすればよいでしょうか?

権限テーブル内の各操作は、メニュー オプションである menu_id に対応しているためです。現在のユーザーが属しているユーザー グループ情報を見つけて、そのユーザーが持つ権限操作 ID を取得し、その ID を通じてそのユーザーが属しているメニュー オプションを取得することで、現在のユーザーが所有するメニュー権限を取得します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/440252.html技術記事データベース テーブル構造 ( ) ( ) ( ) ( ) ( ) ( ) MVC 構造を使用し、URL を通じて対応するモジュール、クラス、関数にアクセスすると仮定します。 表の最初の行は操作を表し、タイトルは操作を表します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。