Interceptor_Authenticationプラグイン
(Piece_Unity_Component_Authentication >= 1.0.0)
Piece_Unity_Component_Authentication 0.13.0以前に対応するマニュアルはこちらを参照ください。
概要
認証済みユーザのみアクセスできるリソースへのアクセスを制御するためのインターセプタ?
コンポーネント
Piece_Unity_Component_Authentication
説明
boolean invoke (void)
このプラグインは、認証済みユーザのみアクセスできるリソースに対して、認証状態に基づいたシンプルなアクセス制御機構を提供するインターセプタ?です。このプラグインのプロセスフローは下記のとおりです。
- リクエストされたリソースが、アクセス制御の対象かどうかをチェックする。
- リソースがアクセス制御対象の場合、ユーザが認証済みかどうかをチェックする。
- ユーザが認証済みでない場合、認証URLへリダイレクトする。
なお、ユーザが認証済みでない場合、後続のインターセプタは実行されません。
例としてサンプルアプリケーションに含まれる設定を示します。
- name: Interceptor_Authentication
point:
- name: url
type: configuration
value: "http://example.org/basics/authenticate.php"
- name: resources
type: configuration
value:
- /protected-resource.php
上記の設定により、リソース"/protected-resource.php"に対してリクエストがあった場合に認証状態がチェックされるようになり、認証済みでなければ認証URL"http://example.org/basics/authenticate.php"にリダイレクトされます。
拡張ポイント
拡張ポイントはありません。
設定ポイント
realm
概要
認証リソースの領域名
デフォルト値
null
説明
エントリポイントなどでこの設定ポイントの値を切り替えることで、アプリケーションの複数のrealm(認証領域)に対応することができます。値がnullの場合は、デフォルトのrealmが使用されます。
例えば、フロントエンドアプリケーションとバックエンドアプリケーションを単一のPiece_Unityアプリケーションとして実装する場合、認証の状態はフロントエンドとバックエンドで個別に管理される必要があるため、この設定ポイントの使用を考えるとよいでしょう。
resourcesMatch
概要
正規表現で記述されたアクセス制御の対象となるリソース(URL)のリスト
デフォルト値
array()
説明
リクエストされたリソース(URL)がこの配列の要素の正規表現にマッチする場合、リソースはアクセス制御の対象とみなされます。
リソースはドキュメントルートからの相対パスで記述されている必要があります。
resources
概要
アクセス制御の対象となるリソース(URL)のリスト
デフォルト値
array()
説明
リクエストされたリソース(URL)がこの配列の要素にマッチする場合、リソースはアクセス制御の対象とみなされます。
リソースはドキュメントルートからの相対パスで記述されている必要があります。
url
概要
認証URL
デフォルト値
null
説明
realmに対するユーザの認証状態を変更するためのエントリポイントの絶対URL。複数のrealmがある場合、エントリポイントなどでそれぞれに対応するURLを適宜設定する必要があります。
ソースコード
Piece/Unity/Plugin/Interceptor/Authentication.php
ユーザコメント
