ホームページ  >  記事  >  バックエンド開発  >  yii2 RBAC は DbManager を使用してバックグラウンド許可を実装する_php の例

yii2 RBAC は DbManager を使用してバックグラウンド許可を実装する_php の例

WBOY
WBOYオリジナル
2016-08-04 08:56:46924ブラウズ

この記事の例では、yii2 RBAC が DbManager を使用してバックグラウンドでの権限判定を実装する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

まずドキュメントに基づいて yii2 フレームワークでテーブルを生成します

yii 移行 --migrationPath=@yii/rbac/migrations/

次の 4 つのテーブルを生成します:

認証割り当て
auth_item_child
auth_item
認証ルール

Yii の gii を使用して、対応するモデルをすばやく生成します。ただし、auth_item テーブルにはロールと権限が同時に格納されているため、後でロールと権限を分割してカード操作を実行するため、ここでは 2 つの新しいモデル、RoleForm と PermissionForm を作成しました。権限を使用して役割を区別します。ロールは権限と密接に関係しているため、追加の属性 $child が auth_item によって生成されたモデルに追加されます。これは後で使用され、現時点では無視されます。

以下はキャラクターモデルの関連コードです​​

リーリー

以下はパーミッションモデルの関連コードです​​

リーリー

さらに、AuthItemモデルに属性を追加します

リーリー

対応するコントローラーが登場

まず最初に、パーミッション コントローラーについて説明します。コントローラーを作成するときは、システムに付属の拡張機能を使用する必要があります。 。 。 。
yiirbacPermission を使用します;
。 。 。

リーリー
変更する場合、他のすべては同じままで、メソッドを変更するだけです

リーリー
ここは削除です

リーリー
権限の反芻は終わっているので確認してから書きません

以下はキャラクターコントローラーです

これを持ってきてください

リーリー
リーリー
削除するときの方が面倒

リーリー
最も重要なことは、ロールに権限を与える必要があるということです。コードは次のとおりです

リーリー
最後に、最後のコントローラーはユーザーに関連付けられたロールです

リーリー
以下は権限を決定するためのものです

リーリー
さらに Yii 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「Yii フレームワークの概要と一般的なテクニックの概要」、「優れた PHP 開発フレームワークの概要」、「Smarty を始めるための基本チュートリアル」テンプレート』、『PHPオブジェクト指向プログラミング入門チュートリアル』、『php文字列の使い方まとめ』、『php+mysqlデータベース操作入門チュートリアル』、『php共通データベース操作スキルまとめ』

この記事が皆さんの Yii フレームワークに基づく PHP プログラムの設計に役立つことを願っています。

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