Oracle ADFセキュリティ認証を使用するためのWebアプリケーションの構成

アクセスのためにセキュリティ・リポジトリと照合してユーザーを認証する必要があるADFリソース(バインディングおよびイテレータ)がアプリケーションに含まれている場合は、ADFセキュリティ・ウィザードを使用してauthorizationEnforceプロパティをtrueに設定できます。これによって、ADF認証エディタで定義したユーザーへの権限の付与に基づいてADFリソースへのアクセスを制限できるようになります。

また、次のディスクリプタをweb.xmlデプロイメント・ディスクリプタ・ファイルに指定する必要があります。

注意: ADFセキュリティ・ウィザードでは、ウィザード実行時にこれらのディスクリプタがweb.xmlファイルに作成されます。ただし、Webアプリケーション・デプロイメント・ディスクリプタ・エディタを使用すると、web.xmlファイルを直接編集することもできます。これらの手順については、後述の説明を参照してください。

セキュリティの構成前に、ログインWebページとユーザー認証後の結果ページがすでに作成されている場合があります。たとえば、ユーザーに対して新規従業員作成ページでのデータ入力を許可する前に認証を受けさせる場合は、最初にログイン・ページを作成し、オプションでログイン・エラー・ページを作成してから、結果の新規従業員作成ページを作成する必要があります。詳細は、Webクライアント用ログイン・ページの作成を参照してください。

ADFセキュリティ・ウィザードを使用してweb.xmlファイルを構成する手順は、次のとおりです。

  1. アプリケーション・ナビゲータで、ADFセキュリティを必要とするユーザー・インタフェース・プロジェクトを選択し、「ツール」を選択し次へ「ADFセキュリティ・ウィザード」を選択します。
    ADFセキュリティ・ウィザードのようこそページが開きます。
  2. ADFセキュリティ・ウィザードで、「次へ」 をクリックします。
  3. 認証ページで、「WebアプリケーションのADFセキュリティの構成」を選択します。次の選択によって、<servlet><servlet-mapping><filter>および <filter-mapping>ディスクリプタを完全に定義します。
  4. Oracle JAASプロバイダおよびXML設定の各ページで、セキュリティ・プロバイダを指定および構成します。「次へ」をクリックします。
  5. ログイン・ページで、必要な認証方法を選択して<login-config>ディスクリプタを構成します。「次へ」をクリックします。
  6. リソース・ページで、ウィザードにより、デフォルトの<security-constraint>および<security-role>ディスクリプタ(ADFセキュリティ・コンテキストでユーザーの認証に使用するADFログイン・モジュールを指定するため)が定義されます。ただし、追加のセキュリティ制約を作成して、セキュリティ・リポジトリに表示されるロールに関連付けることができます。「次へ」をクリックします。
  7. 「終了」をクリックし、ADFセキュリティ・ウィザードを終了します。

Webアプリケーション・デプロイメント・ディスクリプタ・エディタを使用してweb.xmlファイルを構成する手順は、次のとおりです。

  1. ナビゲータで、JSPプロジェクトを開き、 web.xmlファイルを右クリックして「プロパティ」を選択します。web.xmlファイルはプロジェクトのWEB-INFフォルダにあります。
  2. ADF認証サーブレットの<servlet>ディスクリプタを追加するには、エディタの左パネルで「Servlet/JSP」ノードを選択し、パネルの下部で「新規」をクリックします。
  3. <servlet-mapping>ディスクリプタを追加するには、エディタの左パネルで「サーブレット・マッピング」ノードを選択して「追加」をクリックし、次のように入力します。
  4. <security-role>ディスクリプタを追加するには、Webアプリケーション・デプロイメント・ディスクリプタ・エディタの左側で「セキュリティ・ロール」を選択して「追加」をクリックします。
    ここで入力するロールは、セキュリティ・リポジトリからのロールと一致している必要があります。たとえば、XMLベースのプロバイダ(system-jazn-data.xml)を使用している場合は、認証を必要とするどの定義済の<roles>に対しても<name>の値を入力します。
  5. <login-config>ディスクリプタを追加するには、エディタの左パネルで「ログイン構成」ノードを選択します。たとえば、フォームベース認証を使用するには、「フォームベース認証」を選択し、ログイン・ページとログイン・エラー・ページのレンダリングに使用するファイルの名前(login.jsploginerror.jspなど)を入力します。
  6. <security-constraint>ディスクリプタを追加するには、エディタの左側で「セキュリティ制約」を選択し、パネルの下部で「新規」をクリックします。
  7. 「OK」をクリックして変更をすべて保存し、Webアプリケーション・デプロイメント・ディスクリプタ・エディタを閉じます。

ADFセキュリティ定義を表示するには、ナビデータでweb.xmlファイルをダブルクリックします。このファイルには、次のような定義が指定されている必要があります。

<servlet>
  <servlet-name>adfAuthentication</servlet-name>
  <servlet-class>oracle.adf.share.security.authentication.AuthenticationServlet</servlet-class>
  <init-param>
    <param-name>sucess_url</param-name>
    <param-value>inputForm.jsp</param-value>
  </init-param>
</servlet>
<servlet-mapping>
  <servlet-name>adfAuthentication</servlet-name>
  <url-pattern>/adfAuthentication/*</url-pattern>
</servlet-mapping>
<security-constraint>
  <web-resource-collection>
    <web-resource-name>adfAuthentication</web-resource-name>
    <url-pattern>/adfAuthentication</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>user</role-name>
  </auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>login.jsp</form-login-page>
    <form-error-page>login.jsp</form-error-page>
  </form-login-config>
</login-config>
<security-role>
  <role-name>user</role-name>
</security-role>    

関連項目

Oracle ADFセキュリティを使用した認可の実装