RBACクラスはメソッドの4種類を使用ThinkPHP

最初:着陸のコントローラの着地動作に

1.RBAC ::認証();

ユーザーテーブルにフォームの送信データのユーザ名をルックアップするために使用され、ユーザテーブルは、基本的に、検索文です、=====>リターンM(modle) - >(配列)は - >()を見つける;この操作は、持っています二つのパラメータ

a.array()アレイ、書き込みテーブルと検索する同じ配列の役割、=====>配列(「フィールド」=>「値」、「フィールド」=>アレイ(「状態」、「値」));

b.modelは、デフォルトパラメータC(「USER_AUTH_MODEL」)を策定することで、テーブル名であり、戻り値は重要なコミットメントの一次元配列、ノートへのクエリの結果である:それは、単一のユーザーテーブルを記録するための検索方法で、我々はそれを行うことができ、直接文を検索します。

2.RBAC :: saveAccessList();

ユーザは、状況の3次元配列へのセッションにアプリケーション名(グループ名)、コントローラ名、操作名を操作することができます。

一般的に、我々は着陸後に検証ユーザーIDパラメータには、ユーザーがセッションIDをユーザーにC(「USER_AUTH_KEY」)で書き込みますされます。

このプロセスは、(C(「USER_AUTH_KEY」))このパラメータをデフォルトの$ _SESSIONがかかります。

第二のカテゴリー:公共コントローラで(コントローラクラスのすべての権利を出席するためには、このカテゴリにすべてを検証していきます)

リンク:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g  抽出コード:x2p5

Xの共有すること自由に、しかし重大な制約、リンクをクリックするか、リンクが検索に加えて、集団グループ番号失敗する936 682 608

3.RBAC :: AccessDecision();

現在のユーザが現在、デフォルトのパラメータを制御するためのアクセス許可がアプリケーション名APP_NAMEでいるかどうかを決定するために使用され、パケットモードならば、あなたは着信パケットの名を持つGROUP_NAME

コントローラの現在の動作を確認するまたは決意に参加するかどうかのために、RBAC ::のcheckAccess()と呼ばれる方法があります。

注意:4つの製剤パラメータがありますが、我々は2を記述する必要があります。

検証コントローラが必要です:REQUIRE_AUTH_MODULE動作を確認が必要です。REQUIRE_AUTH_ACTIONを

コントローラは認証を必要としない:NOT_AUTH_MODULEは、操作を確認する必要はありませ:NOT_AUTH_ACTION

あなたは、全体を記述する必要がある場合:REQUIRE_AUTH_ACTIONでの書き込み操作が記述する必要がありながら、それは、コントローラREQUIRE_AUTH_MODULEを属します。

あなたがすべて書かを必要としない場合は、次、NOT_AUTH_MODULEにコントローラが認証を必要としませんすべてのメソッドをコントローラを書きます

あなただけでNOT_AUTH_ACTIONを書く場合は、同じ名前の動作上の問題名に注意を払う必要があります。

4.RBAC :: checkLogin();

ユーザーがログインしているかどうかを判断するために使用します(注)。ホームこの操作は、検証に参加しなければならないショーを着陸した後、その各文字は、この操作に参加する権限を持っていました。

この方法は、直接$ _SESSION [C(「USER_AUTH_KEYを」)]を決定することはできませんあなたはこの操作が検証に参加していない家庭のショーを着陸後に作ることができるようにログイン画面へのジャンプが存在しない、存在しています。

おすすめ

転載: www.cnblogs.com/it-3327/p/11728604.html