Web UI フレームワークのセキュリティー - 要求バリデーターの追加

Web UI フレームワークを使用すると、要求に対して複数の妥当性検査を セットアップできます。 この妥当性検査プロセスにより、 ユーザーが最初にログインした後に、そのユーザーの認証が追加で必要となります。 それにより、そのユーザーはログイン・セッションを継続できるようになります。

このタスクについて

詳しくは、インストール・ディレクトリー内の Java™ API 資料 (<INSTALL_DIR> /xapidocs/core_javadocs) を参照してください。

手順

  1. Web UI フレームワークのデフォルト実装を使用して、 アプリケーションをインストールします。
  2. 複数の妥当性検査の実装を作成します。これは、Web UI フレームワークに プラグインするものです。 Web UI フレームワークは、複数の妥当性検査の デフォルト実装を持ちません。 実装が何も提供されていない場合、 最初の認証後にさらに要求の妥当性検査が実行されることは ありません。

    要求妥当性検査はすべての要求に対して実行されるため、 この機能をユーザーのニーズに基づいて最適化する 必要があります。 要求バリデーターの実装では、 ISCUIRequestValidator に定義されたコントラクトを使用する必要があります。

  3. 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 内のコンテキスト・パラメーターに指定された すべての妥当性検査の実装またはバリデーターは、 追加の妥当性検査をサポートするために (無作為の順序で) 呼び出されます。

  4. カスタマイズした Java コードを実装するには、Java クラスを含む JAR ファイルをビルドし、 install3rdparty.sh スクリプトを使用して JAR ファイルをインストールします。 このカスタマイズを実装するには、インストール時に行ったように EAR ファイルまたは WAR ファイルを再ビルドしてから、 Applications Managerにアプリケーションをデプロイします。