ホームページ >バックエンド開発 >PHPチュートリアル >MVC での権限制御のためのソリューションのアイデア

MVC での権限制御のためのソリューションのアイデア

WBOY
WBOYオリジナル
2016-06-13 13:49:451160ブラウズ

MVC でのアクセス許可の制御
私は次の 2 つの方法を考えています。
1. コントローラーの基本クラスでユーザーがコントローラーのメソッドを使用するアクセス許可を持っているかどうかを判断します。
2.メソッドの前に関数を呼び出して、ユーザーにアクセス権限があるかどうかを確認します。
普段はどうやってやってますか?

また、CodeIgniter でアクセス許可を管理するにはどうすればよいですか?フレームワークにはこの機能がありません。FreakAuth というプラグインがありますが、これは使いたくないです。自分で書いた場合、どのように実装すればよいでしょうか?コントローラーの基本クラスを書き換えますか?フックを追加しますか?それともそれぞれの方法で判断されるのでしょうか?

ありがとうございます

-----解決策-------------------------- ------

投稿者 zjerryj の投稿を引用します:
2 つの方法を考えます:
1. 権限テーブルを作成し、コントローラーの基本クラス。ユーザーがコントローラーのこのメソッドを使用したかどうか。
2. 各メソッドの前に関数を呼び出して、ユーザーにアクセス権限があるかどうかを判断します。
普段はどうやってやってますか?

また、CodeIgniter でアクセス許可を管理するにはどうすればよいですか?フレームワークにはこの機能がありません。FreakAuth というプラグインがありますが、これは使いたくないです。自分で書いた場合、どのように実装すればよいでしょうか?コントローラーの基本クラスを書き換えますか?フックを追加しますか?それともそれぞれの方法で判断されるのでしょうか?

ありがとう

------解決策------------------
thinkphp を勉強して試してみてください

www.thinkphp.cn
------解決策----------------------
私たちはこのレベルの学習にも達していません

------解決策------------------
ci を使ったことはありませんが、コントローラーとアクションがわかるので
、基本クラスを自分で継承する限り、現在のユーザーにコントローラーとアクションへのアクセス許可があるかどうかを判断する認証メソッドを記述します
この認証コントローラを使用する場合は、この基本クラスを継承します。


------解決策------------------
私はあなたが分析した問題には遭遇していません

私はMVCのruby-on-railsを使用し、MVCモデルuhomeを分析しました

各ユーザーにメソッド権限を割り当てるという問題はありませんあなたが述べたように、

それらの処理は、コントローラーにメソッドを割り当てるだけです。たとえば、どのメソッドがこのコントローラーでのみ使用でき、どのユーザーがそれを使用できるか、事前関数を設定できます

これが私が通常行う方法です
1. コントローラーに事前検証関数を設定して、どのメソッドに適用されるかを示します。許可がない場合は、メソッドを実行する必要がないことを示します。
2. メソッド内で権限を直接検証します。たとえば、一部のメソッドでは検証のために、セッション、Cookie、グローバル変更、またはグローバル メソッド



を検証できます。
------解決策-----
アップ
------解決策------------------
ほとんどの MVC フレームワークはこの機能を実装できます。

ZF であれば、Controller のヘルパーを使用して実装できます。

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