キャッシュ可能なADFコンポーネントのセキュリティ設定について

ADFセキュリティについてアプリケーションを構成する場合は、そのアプリケーションのコンテナでADFセキュリティを使用するようにadf-config.xmlファイルを構成します。デフォルトでは、adf-config.xmlファイルのauthorizationEnforceパラメータは、falseに設定されています。この設定では、全コンテンツがパブリックであるとみなされます。ADFセキュリティについてadf-config.xmlファイルを構成した後は、リソース・プロバイダを使用し、ユーザー、ロール、権限およびポリシーの付与を作成するように、アプリケーションを構成します。

authorizationEnforceパラメータをtrueに設定すると、Oracle Application ServerのJava Authentication and Authorization Service(JAAS)プロバイダによって、認証およびアクセス権限のチェックが実行されます。特定ユーザーを対象にしたキャッシュ可能なコンポーネントの場合、この設定はセキュリティ上の問題を引き起こす可能性があります。ADF Faces Cacheでは、キャッシュ可能なコンポーネントの参照権限がないユーザーに対してこれらのコンポーネントを提供する可能性があります。<afc:cache>タグを指定して認証が必要なADFコンポーネントをキャッシュすると、キャッシュ・タグ・ハンドラでは、認証された最初のリクエストに対する適切なレスポンスが生成され、キャッシュ内にコピーが格納されます。同じフラグメントの後続のリクエストについては、最初のリクエストによって格納されたコンテンツが提供されます。このレスポンスには、一部のユーザーを対象としていないセキュアなコンテンツが含まれている可能性があります。

ADFのキャッシュ可能なコンポーネントを認証されていないユーザーに提供しないようにするには、次の3つの選択肢があります。


ADFセキュリティを使用するアプリケーションの構成
ADFセキュリティを使用する認可の実装
system-jazn-data.xmlファイルの編集
セキュアなコンテンツのキャッシュに対するvaryBy属性の使用例