詳細アイコン ADF認証および認可

Oracle ADFセキュリティでは、認証がWebコンテナに委譲されます。最も一般的に使用されているタイプの認証方法はHTTP Basic認証とフォームベース認証です。Basic認証では、ユーザーがユーザー名とパスワードを入力できるようにブラウザのログイン・ダイアログが使用されます。Basic認証の場合、ユーザーからの資格証明がブラウザによりキャッシュされるため、ログアウトできないことに注意してください。Basic認証は、カスタム・ログイン・ページを必要としないアプリケーションをテストする際に役立ちます。

デフォルトの「ADF認証および認可」オプションと他のすべてのデフォルト値を使用して「ADFセキュリティの構成」ウィザードを実行すると、次のようになります。

また、このウィザードでは次の操作も実行されます。

たとえば、adf-config.xmlでは、sec:adf-security-child要素が次の子要素で更新されます。

<sec:JaasSecurityContext
 initialContextFactoryClass="oracle.adf.share.security.JAASInitialContextFactory"
 jaasProviderClass="oracle.adf.share.security.providers.jps.JpsSecurityContext"
 authorizationEnforce="true"
 authenticationRequire="true"/>
web.xmlでは、次の設定が追加されます。
<servlet>
  <servlet-name>adfAuthentication</servlet-name>
  <servlet-class>oracle.adf.share.security.authentication.AuthenticationServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</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>valid-users</role-name>
  </auth-constraint>
</security-constraint>
<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>jazn.com</realm-name>
</login-config>
<security-role>
  <role-name>valid-users</role-name>
</security-role> 

次に示すように、JpsFilterフィルタ設定に初期化パラメータremove.anonymous.roleが追加されます。

<filter>
  <filter-name>JpsFilter</filter-name>
  <filter-class>oracle.security.jps.ee.http.JpsFilter</filter-class>
  <init-param>
    <param-name>enable.anonymous</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>remove.anonymous.role</param-name>
    <param-value>false</param-value>
  </init-param>
</filter>

「ADF認証および認可」オプションを使用すると、ADFセキュリティ対応リソース(ADFバインド・タスク・フローなど)について定義したセキュリティ・ポリシーに対する権限チェックをADF認可で施行できます。これは、ADFリソースへのアクセスを管理するために、アプリケーション・ロールを定義し、そのロールに明示的な付与を割り当てる必要があることを意味します。