Web UI フレームワークのセキュリティー - 要求バリデーターの追加
Web UI フレームワークを使用すると、要求に対して複数の妥当性検査を セットアップできます。 この妥当性検査プロセスにより、 ユーザーが最初にログインした後に、そのユーザーの認証が追加で必要となります。 それにより、そのユーザーはログイン・セッションを継続できるようになります。
このタスクについて
詳しくは、インストール・ディレクトリー内の Java™ API 資料 (<INSTALL_DIR> /xapidocs/core_javadocs) を参照してください。
手順
- Web UI フレームワークのデフォルト実装を使用して、 アプリケーションをインストールします。
- 複数の妥当性検査の実装を作成します。これは、Web UI フレームワークに
プラグインするものです。 Web UI フレームワークは、複数の妥当性検査の
デフォルト実装を持ちません。 実装が何も提供されていない場合、
最初の認証後にさらに要求の妥当性検査が実行されることは
ありません。
要求妥当性検査はすべての要求に対して実行されるため、 この機能をユーザーのニーズに基づいて最適化する 必要があります。 要求バリデーターの実装では、 ISCUIRequestValidator に定義されたコントラクトを使用する必要があります。
- SCUISecurityResponse クラスは、要求バリデーターの
妥当性検査 (validate) メソッドにより返されます。 妥当性検査が失敗すると、要求は
SCUISecurityResponse クラスに指定された URL にリダイレクトされます。 また、妥当性検査には、戻りステータス、例外、およびエラー・メッセージに関する
設定が含まれています。 この情報は、Web UI フレームワーク内の ISCUIRequestValidator の
妥当性検査 (validate) メソッドにより使用されます。ISCUIRequestValidator インターフェースでは、 任意の要求妥当性検査の実装内で Web UI フレームワークが想定する ことを定義します。 このインターフェースでは、以下のメソッドを使用します。
- 妥当性検査
SCUIContext を取り込みます。 応答は、 戻りステータス、ページの URL、例外、およびエラー・メッセージを カプセル化する SCUISecurityResponse オブジェクトです。 このメソッドは、アプリケーションで必要な ビジネス・ロジックを実行します。
- 初期化
初期化を処理します。
- sessionDestroyed
開いているすべてのセッション固有ハンドルを閉じます。 ISCUIValidator は、ISCUISessionAware インターフェース (ISCUIValidator がそれ自体を HttpSessionListener 実装クラスに登録できるようにするための マーカー・インターフェース) を拡張します。 セッションが無効化されるか破棄されるとき、 sessionDestroyed メソッドは、初期化時に開かれたセッション固有ハンドルを閉じるために リスナーにより呼び出されます。
以下に示すのは、ISCUIRequestValidator インターフェースの 例です。
public interface ISCUIRequestValidator extends ISCUISessionAware { public SCUISecurityResponse validate(SCUIContext uiContext); public void init(); public void sessionDestroyed(); }要求妥当性検査は、ISCUIRequestValidator インターフェース・クラスを 実装する RequestValidator の 1 つ以上のインスタンスで 構成されます。 複数の要求バリデーターを設定できますが、その順序は 保証されません。 RequestValidator は、以下の例に示すように、 コンテキスト・パラメーターを使用して web.xml にプラグインされます。
<context-param> <param-name>scui-request-validator1</param-name> <param-value>com.app.MyURLValidator</param-value> </context-param> <context-param> <param-name>scui-request-validator2</param-name> <param-value>com.app.MyAdminValidator</param-value> </context-param>web.xml 内のコンテキスト・パラメーターに指定された すべての妥当性検査の実装またはバリデーターは、 追加の妥当性検査をサポートするために (無作為の順序で) 呼び出されます。
- 妥当性検査
- カスタマイズした Java コードを実装するには、Java クラスを含む JAR ファイルをビルドし、 install3rdparty.sh スクリプトを使用して JAR ファイルをインストールします。 このカスタマイズを実装するには、インストール時に行ったように EAR ファイルまたは WAR ファイルを再ビルドしてから、 Applications Managerにアプリケーションをデプロイします。