カスタマイズ可能なコンポーネントのセキュリティ定義

カスタマイズ可能なコンポーネントのアクション上で直接セキュリティを定義できます。つまり、アクションを構成して、ページ上で使用できるセキュリティ・オプションを利用できます。カスタマイズ可能なコンポーネントのアクション上のセキュリティは、次の異なるレベルで実装できます。

カスタマイズ可能なコンポーネントにおけるアクションの可視性は、アプリケーション全体のスイッチ、(adf-config.xmlファイルで使用可能な)enableSecurityにより決定されます。アプリケーションの作成時にWebCenterのアプリケーション・テンプレートを選択する場合、adf-config.xmlファイルは< APPLICATION_NAME>/.adf/META-INFディレクトリで使用できます。アプリケーションにセキュリティが実装されると、enableSecurityがデフォルトでtrueに設定されます。これはカスタマイズ可能なコンポーネントでセキュリティが有効であることを意味します。アクション・カテゴリ・レベルおよびアクション・レベルでのセキュリティ設定はadf-config.xmlファイルで定義される必要があります。

ここで説明している様々なレベルで、カスタマイズ可能なコンポーネントのアクションに対するセキュリティを実装するには、次の項で説明しているタスクを実行する必要があります。

ページ・レベルのセキュリティの継承

ページ・レベルの権限をカスタマイズ可能なコンポーネントで継承できるように、カスタマイズ可能なコンポーネントのセキュリティを定義できます。adf-config.xmlenableSecurity要素により、カスタマイズ可能なコンポーネントに対してセキュリティが有効であるかどうかが決定されます。デフォルトでは、アプリケーションにセキュリティを実装したとき、enableSecurity要素はtrueに設定されているため、カスタマイズ可能なコンポーネントのセキュリティが有効化されます。この場合、デフォルトのページ権限である「表示」、「パーソナライズ」、「カスタマイズ」、「編集」がカスタマイズ可能なコンポーネントで使用できます。

注意: 権限は親からのみ継承できます。階層内の他の場所にあるコンポーネントからの継承はサポートされていません。

オプションとして、カスタマイズ可能なコンポーネントのアクション・カテゴリをfaces-config.xmlファイルのページ権限にマップできます。これを行うには、faces-config.xmlファイルにFramePagePrivsActionCategoryBeanマネージドBeanを追加する必要があります。このマネージドBeanを使用することで、デフォルトのページ権限をアクション・カテゴリにマップできます。詳細は、このページの最後の項を参照してください。

アプリケーションのセキュリティ定義の詳細は、Oracle WebCenter Framework開発者ガイドを参照してください。

アプリケーション全体のセキュリティ定義

enableSecurity<APPLICATION_NAME>/.adf/META-INF/adf-config.xmlファイルでtrueに設定されている場合は、カスタマイズ可能なコンポーネントのアクションに対するセキュリティをアクション・レベルで定義できます。デフォルトでは、アプリケーションにセキュリティを実装したときに、この要素はtrueに設定されます。true値はadf-config.xmlで指定されているactionCategory値の他に、権限もチェックすることを意味します。ただし、この要素が無効である場合は、次のように編集してカスタマイズ可能なコンポーネントのセキュリティを有効化する必要があります。

:

<!--
Sample customizable components actions security entry
-->
<cust:customizableComponentsSecurity>
  <cust: enableSecurity value="true"/>
    <cust:actionsCategory>
       ..........................................
</cust:customizableComponentsSecurity>

これらのコンポーネントのセキュリティ・チェックは、enableSecurityfalseにすることでオフにできます。この要素がfalseに設定されると、権限チェックは実行されず、コンポーネントのインスタンス・レベルのタグ属性のみがチェックされます。

アクション・カテゴリ・レベルのセキュリティ定義

adf-config.xmlファイルにactionsCategory要素を追加して、複数のカスタマイズ可能なコンポーネントのアクション上で同時にセキュリティを定義できます。有効化したactionsCategory属性によって、適切な権限がカスタマイズ可能なコンポーネントに付与されます。

次の表は、様々なactionsCategory属性、およびデフォルトでサポートされているカスタマイズ可能なコンポーネントのアクションを説明しています。

属性値 サポートされるアクション
viewActionsCategory

レンダリング

ヘルプ

customizeActionsCategory

移動

カスタマイズ

最小化

最大化

コンテンツの表示または非表示

editActionsCategory

編集

次の例は、adf-config.xmlファイルに追加できるactionsCategoryのエントリを示しています。

:

<!--
Sample customizable components actions security entry
-->
<cust:customizableComponentsSecurity>
  <cust:enableSecurity value="true"/>

  <cust:actionsCategory>
    <cust:actionCategory name=" viewActionsCategory" value="true "/>
    <cust:actionCategory name=" customizeActionsCategory" value="true "/>
    <cust:actionCategory name=" editActionsCategory" value="true "/>

  </cust:actionsCategory>
  ..........................................

</cust:customizableComponentsSecurity>

アクション・レベルのセキュリティ定義

adf-config.xmlファイルにactions要素を追加して、個々のカスタマイズ可能なコンポーネントのアクション上でセキュリティを定義できます。有効化したactions属性によって、適切な権限がカスタマイズ可能なコンポーネントに付与されます。

次の例は、adf-config.xmlファイルに追加できるactionsのエントリを示しています。

:

<!--
Sample customizable components actions security entry
-->
<cust:customizableComponentsSecurity>
  <cust:enableSecurity value="true"/>

  <cust:actionsCategory>
    ..........................................
  </cust:actionsCategory>

  <cust:actions>
    <cust:action name="View" value=" true"/>
    <cust:action name=" Edit" value="true"/>
    <cust:action name=" Personalize" value="true"/>
    <cust:action name=" Customize" value="true"/>
  </cust:actions>

</cust:customizableComponentsSecurity>

ここまでは、adf-config.xmlファイルを編集することによりアプリケーション・レベルでカスタマイズ可能なコンポーネントのアクションに対するセキュリティを有効化または無効化する方法を説明してきました。adf-config.xmlファイルのactions要素およびactionsCategory要素には、前の項の表に示されているように、特定のデフォルトのマッピングがあります。これらのデフォルトのマッピングは、faces-config.xmlファイルを編集することで変更できます。これらの設定はオプションであり、関連するステップは次の項で説明します。

オプションのセキュリティ設定

カスタマイズ可能なコンポーネントのアクションに対するセキュリティの有効化または無効化に加えて、カスタマイズ可能なコンポーネントのアクションおよびアクション・カテゴリ間のデフォルトのマッピング、アクション・カテゴリおよびページ権限間のデフォルトのマッピングを変更できます。これらの設定は、faces-config.xmlファイルで次のように定義できます。

アクション・カテゴリのカスタマイズ可能なコンポーネント・アクションへのマッピング

各アクション・カテゴリでサポートされているカスタマイズ可能なコンポーネントのアクションを指定できます。これはfaces-config.xmlファイルのFrameActionsCategoryBeanマネージドBeanを使用することで構成できます。

次の表は、様々なactionsCategory属性、およびデフォルトでサポートされているカスタマイズ可能なコンポーネントのアクションを説明しています。

属性値 サポートされるアクション
viewActionsCategory

レンダリング

ヘルプ

customizeActionsCategory

移動

カスタマイズ

最小化

最大化

コンテンツの表示または非表示

editActionsCategory

編集

注意: FrameActionsCategoryBeanマネージドBeanは、デフォルトではfaces-config.xmlファイルで使用できません。このBeanをファイルに手動で追加する必要があります。

faces-config.xmlファイルにFrameActionsCategoryBeanを追加するには、次のステップを実行します。

  1. 「アプリケーション・ナビゲータ」でViewController/Web Content/WEB-INF/faces-config.xmlをダブルクリックし、JSF構成エディタのデフォルト・モードで開きます。
  2. エディタ下部の「概要」タブを選択して、必要に応じて概要モードに切り替えます。
  3. 左側にある要素リストから「Managed Bean」を選択します。
  4. 「新規」をクリックして、「マネージドBeanの作成」ダイアログ・ボックスを開きます。
  5. ダイアログ・ボックスで、マネージドBeanに対して次を指定します。
  6. 「クラスが存在しない場合は生成」チェック・ボックスを選択して、Oracle JDeveloperでJavaクラスを作成します。

    faces-config.xmlでは、次の例で示されている要素を使用すると、JDeveloperによりマネージドBean構成が追加されます。

    :

    <managed-bean-name> FrameActionsToCategoryMappingBean</managed-bean-name>
    <managed-bean-class>
        oracle.adfinternal.view.faces.ui.action.customizable.bean.FrameActionCategoryBean
    </managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>

  7. マネージドBeanプロパティを「概要」モードまたは「ソース」モードのいずれかで編集し、(この項の最初で使用できるマッピング表を参照して)次の例のように要素を含めます。

    :

    - <managed-property>
            <property-name> viewActionsCategory</property-name>
            - <list-entries>
                <value-class>java.lang.String</value-class>
                <value> Render</value>
                <value> isHelpAvailable</value>
              </list-entries>
          </managed-property>
        - <managed-property>
            <property-name> customizeActionsCategory</property-name>
            - <list-entries>
                ..........................................

  8. faces-config.xmlを保存します。

ページ権限のアクション・カテゴリ属性へのマッピング

faces-config.xmlでアクション・カテゴリをページ権限にマップできます。デフォルトのページ権限である「表示」、「パーソナライズ」、「カスタマイズ」および「編集」を、faces-config.xmlファイルにあるFramePagePrivsActionCategoryBeanマネージドBeanのactionsCategory要素にマップできます。

次の表は、faces-config.xmlファイルで使用できるデフォルトのマッピングを説明しています。

ページ権限 これらの権限を付与するアクション・カテゴリ
表示

viewActionsCategory

パーソナライズ

viewActionsCategory

personalizeActionsCategory

カスタマイズ

viewActionsCategory

personalizeActionsCategory

customizeActionsCategory

編集

viewActionsCategory

personalizeActionsCategory

customizeActionsCategory

editActionsCategory

前の項で説明されているようなステップを実行することにより、FramePagePrivsActionCategoryBeanfaces-config.xmlファイルに追加できますが、マネージドBeanプロパティを編集して次の例のような要素を含める必要があります。

:

- <managed-bean>
  <managed-bean-name> FramePagePrivsToActionCategoryMappingBean</managed-bean-name>
    <managed-bean-class>
        oracle.adfinternal.view.faces.ui.action.customizable.bean.FramePagePrivsActionCategoryBean
    </managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    - <managed-property>
        <property-name> view</property-name>
        - <list-entries>
            <value-class>java.lang.String</value-class>
            <value> viewActionsCategory</value>
          </list-entries>
      </managed-property>
    - <managed-property>
        <property-name> personalize</property-name>
        - <list-entries>
            ..........................................
- </managed-bean>

マネージドBeanの設定の詳細は、SOAシステムにおけるWebアプリケーション開発のWebページ用バッキングBeanの作成および使用を参照してください。


関連項目

アプリケーションへのセキュリティの追加
Oracle ADFアプリケーションのセキュリティ開発
Oracle ADFセキュリティを使用するためのアプリケーション構成