セキュアなコンテンツのキャッシュに対するvaryBy属性の使用例

ADFのキャッシュ可能なコンポーネントを他のユーザーに提供しないようにするために、コンポーネントに対する認証を表す式言語(EL)要素を指定できます。このEL要素は、コンポーネントの<afc:cache>タグのvaryBy属性を使用して指定します。

次のコード抜粋は、基本となるページを示しています。このコードには、ページの作成日時と、region1という名前のインクルードされたリージョンが含まれています。

base.jspx
<f:view>
   <afh:html>
     <afh:head title="untitled1">
      <meta http-equiv="Content-Type"
            content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
      <h:form>
        <af:region regionType="region1" value="#{bindings.region1}"
                   rendered="#{bindings.region1.viewable}" id="region1"/>
      </h:form>
    </afh:body>
   </afh:html>
</f:view>        

次のコード抜粋は、region1を示しています。このコードには、フラグメントの作成日時と、出力テキストSECUREDATACONTROLを表示するためのデータ・コントロール・コンポーネントが含まれています。varyBy属性は、bindings.SECUREDATACONTROL.viewable Beanに基づいてコンテンツをキャッシュするように指定されています。

region1.jsp...
<af:regionDef var="attributes">
  <afc:cache varyBy="bindings.SECUREDATACONTROL.viewable"> 
      <af:panelGroup id="fragment1">
        <f:facet name="separator">
          <af:objectSpacer width="10" height="1"/>
        </f:facet>
        <af:commandLink
          text="Included fragment creation date: #{now}" />
      </af:panelGroup>
  <af:outputText value="#{bindings.SECUREDATACONTROL.inputvalue}"/>
  </afc:cache>
</af:regionDef>        

アプリケーション開発者は、リソースに対する次の権限付与を指定できます。

独自のアプリケーションでこのコード・スニペットを再使用する場合は、追加のセキュリティ構成が必要になります。


キャッシュ可能なADFコンポーネントのセキュリティ設定について
ADFセキュリティを使用するアプリケーションの構成
ADFセキュリティを使用する認可の実装