ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発
11gリリース1 (11.1.1.8.3)
E49666-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

22 コンポーザ・コンポーネントのデフォルトのセキュリティ動作の変更

この章では、コンポーザ・コンポーネントのデフォルトのセキュリティ動作をオーバーライドする方法について説明します。

この章の内容は、次のとおりです。

22.1 カスタマイズ・ポリシーの定義によるコンポーネント・レベルの制限の適用

デフォルトで、MDSはページ・コンポーネントのアプリケーション・カスタマイズを制限します。つまり、ユーザーは実行時にコンポーネントまたはその属性をカスタマイズできません。アプリケーション・カスタマイズを有効にするには、コンポーネントおよびその属性のデフォルト制限を解除する必要があります。Page Customizableコンポーネントをページに追加し、それにコンテンツを移入する場合、Page Customizableおよびそのすべての子コンポーネントのデフォルトのカスタマイズ制限が解除されます。ただし、Page Customizableコンポーネントがテンプレートの一部である場合などのインスタンスによっては、コンポーネントおよびその属性のアプリケーション・カスタマイズを明示的に許可する必要がある場合があります。この項では、コンポーネントおよびその属性にMDSのタイプ・レベルの制限またはインスタンス・レベルの制限を適用する方法について説明します。次のサブセクションが含まれます:


注意:

ページ・テンプレートを使用したカスタマイズ可能ページの作成の詳細は、第18.1.7項「カスタマイズ可能ページを作成するページ・テンプレートの作成方法」を参照してください。


22.1.1 タイプ・レベルのカスタマイズ・ポリシーの定義方法

コンポーネントにタイプ・レベルの制限を適用する場合は、そのコンポーネントのすべてのインスタンスが制限されます。これは、ユーザーの特定の集合のみに特定のコンポーネントまたはその属性の編集を許可し、他のすべてのユーザーにそれの編集を制限する場合に便利です。たとえば、ページ作成者またはアプリケーション管理者のみに実行時のページ・レイアウトの変更を許可する場合は、タイプ・レベルの制限をLayout Customizableコンポーネントに対して定義し、adminロールを有するユーザーのみにこのコンポーネントの編集を可能にできます。

スタンドアロンXMLファイルのコンポーネントおよびその属性に対してタイプ・レベルの制限を有効化し、このファイルをadf-config.xmlファイルのmds-configセクションまたはmds-config.xmlファイルに登録できます。スタンドアロンXMLファイルには、カスタマイズ制限を指定する必要があるタイプに一致する注釈が含まれています。

mds-config.xmlファイルをアプリケーションのMETA-INFディレクトリに作成し、スタンドアロン・ファイルをmds-config.xmlファイルに登録できます。

選択したコンポーネントまたは属性のアプリケーション・カスタマイズをタイプ・レベルで可能にするには:

  1. standalone.xmlなど、XMLドキュメントを作成して次のコードを追加し、太字のテキストを適切な値に置き換えます。

    <?xml version="1.0" encoding="UTF-8" ?> 
    <grammarMetadata xmlns="http://xmlns.oracle.com/bali/xml/metadata"
                     xmlns:mds="http://xmlns.oracle.com/mds"
                     namespace="tag_namespace">
      <elementMetadata elementName="component_name">
        <mds:customizationAllowed>true</mds:customizationAllowed>
          <attributeMetadata attributeName="attribute_name">
            <mds:customizationAllowedBy>security_roles</mds:customizationAllowedBy>
          </attributeMetadata>
      </elementMetadata>
    </grammarMetadata>
    

    <customizationAllowedBy>タグを使用できるのは一度のみです。宣言の一部に、許可されるポリシーの空白区切りのリストとして、複数の値を指定できます。特定のユーザーまたはロールに対してアプリケーション・カスタマイズを有効または無効にするには、そのユーザーまたはロールをMDSセッションのカスタマイズ・ポリシーに含める必要があります。詳細は、第22.2.3項「カスタマイズ・ポリシーを含めるためのSessionOptionsオブジェクトのカスタマイズ方法」を参照してください。

    <customizationAllowed>タグは、値にブールを使用します。このタグの値がtrueの場合は、継承されたその他のカスタマイズ・ポリシーで許可されていれば、指定されたコンポーネントを誰でもカスタマイズできることを意味します。

    同じオブジェクトが<customizationAllowed>false</customizationAllowed>でタグ付けされている場合には、<customizationAllowedBy>タグは機能しません。また、カスタマイズは、オブジェクト・ツリーの最上位レベルで許可される必要があります。そうしない場合は、デフォルトの動作で、カスタマイズを下位レベルで許可しないことが指定されます。

  2. 次のいずれかの方法で、このXMLファイルを登録します。

    XMLファイルをadf-config.xmlファイルに登録するには、次の形式を使用してtype-config要素をmds-configセクション内に追加します。

    <mds-config xmlns="http://xmlns.oracle.com/mds/config">
      <type-config>
        <standalone-definitions>
          <classpath>File_Path/standalone.xml</classpath>
        </standalone-definitions>
      </type-config>
    </mds-config>
    

    mds-config.xmlファイルをアプリケーションのMETA-INFフォルダに作成し、次の形式でtype-config要素をファイルのmds-component-configセクション内に追加します。

    <?xml version="1.0" encoding="UTF-8" ?>
    <mds-component-config version="11.1.1.000" xmlns="http://xmlns.oracle.com/mds/config">
      <type-config>
        <standalone-definitions>
          <classpath>File_Path/standalone.xml</classpath>
        </standalone-definitions>
      </type-config>
    </mds-component-config>
    
  3. スタンドアロン・ファイルおよび関連付けられたXSDを共有ライブラリJARファイルで使用可能にします。そうしないと、MDSでそれらがロードされません。

    実行時に、MDSでは、META-INFディレクトリ内のすべてのmds-configインスタンスが検索され、スタンドアロン・ファイルで指定されたすべてのカスタマイズ制限がロードされます。

22.1.2 インスタンス・レベルのカスタマイズ・ポリシーの定義方法

インスタンス・レベルの制限は、コンポーネントの特定インスタンスのカスタマイズを許可または制限する場合に便利です。インスタンス・レベルのカスタマイズ・ポリシーのコードは、タイプ・レベルのポリシー定義で使用されるコードと似ています。ただし、インスタンス・レベルのポリシーは、タイプ・レベルのポリシーをオーバーライドします。つまり、インスタンス・レベルの制限では、タイプからの制限に関係なく、trueが保持されます。たとえば、ログイン・ページ、およびユーザー・プリファレンス・ページなどの他のページで、いくつかのUI要素があるフォームを使用している場合は、ユーザーに、ログイン・ページ上以外のフォームのすべてのインスタンスをカスタマイズすることを許可できます。このためには、タイプ・レベルでフォームのカスタマイズを許可して、ログイン・ページ内のインスタンスにのみカスタマイズを制限できます。

コンポーネントまたはその属性のカスタマイズをインスタンス・レベルで可能にできます。コンポーネント・レベルでカスタマイズ制限を適用するには、JDeveloperで、コンポーネントのcustomizationAllowedおよびcustomizationAllowedBy属性を設定できます(第22.1.1項「タイプ・レベルのカスタマイズ・ポリシーの定義方法」を参照)。コンポーネントの属性に制限を適用するには、この項で説明した手順を実行します。

コンポーネント属性のためのインスタンス・レベルのポリシーはRDFファイルで定義します。RDFファイルはMDSによって取得され、ポリシーが実装されます。

インスタンス・レベルのカスタマイズ・ポリシーを定義するには:

  1. JSPXファイルと同じ名前で、拡張子RDFを使用して、RDFファイル(main.jspx.rdfなど)を作成します。

    このファイルはapplication_home/project/public_html/mdssys/mdxフォルダに作成します。このフォルダ構造にRDFファイルを作成すると、MDSによりファイルが取得され、ここで定義したポリシーが実装されます。

  2. コンポーネントの属性に制限を適用するには、次の形式でタグを含めます。

    tag_id(xmlns(tag_prefix=tag_namespace))/@tag_prefix:attribute_name
    

    次の例は、Go Image Linkコンポーネント、およびCommand Buttonコンポーネントのtext属性に制限を適用する方法を示しています。

    <?xml version="1.0" encoding="UTF-8"?>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <rdf:Description rdf:about="/"/>
    <!-- Opens the customization on a tag with ID 'gil1'.  -->
    <rdf:Description rdf:about="gil1">
      <customizationAllowed xmlns="http://xmlns.oracle.com/mds">false</customizationAllowed>
    </rdf:Description>
     
    <!-- Restricts customizations on a commandButton component's 'text' attribute. -->
    <rdf:Description rdf:about="cb1/@text">
      <customizationAllowed xmlns="http://xmlns.oracle.com/mds">false</customizationAllowed>
    </rdf:Description>
    

実行時に、これらのポリシーが読み取られ、それに応じてアーチファクトのカスタマイズも可能になります。

22.2 セキュリティ・ロールの使用によるコンポーネント・インスタンス・レベルのカスタマイズ制限の適用: 例

この項では、様々なユーザー・ロールおよび責任に基づいて、特定のコンポーネント機能へのアクセスを制限するためにどのようにコンポーネント・レベルの制限を使用できるかを説明します。特に、インスタンス・レベルのカスタマイズ制限をPanel Customizableコンポーネントに適用して、adminロールを有するユーザーのみにカスタマイズ・アクセスを提供する方法を説明します。つまり、adminロールを有するユーザーが実行時にシステムにログインする場合、ユーザーはインスタンス・レベルのカスタマイズが適用されたPanel Customizableをカスタマイズできます。

コンポーザのプロパティ・インスペクタでは、Panel Customizableのプロパティは、admin権限がないユーザーには表示されません。制限されたコンポーネントでは、「編集」アイコンまたはメニュー・アイテムは無効です。これらのユーザーは、適用された制限のため、どのMovable BoxPanel Customizableにドロップできません。また、このPanel Customizable内のShow Detail Frameを再配置できません。

ユーザー・ロールに基づいて機能を制限することは、カスタマイズ制限を適用するための1つの方法です。コンポーネント機能へのアクセスを有効化または制限するために、ロール・ベースの結果を提供するExpression Language式(EL)を使用することもできます。


注意:

MDSのカスタマイズ制限は、SplitterおよびshowDetailItemなどのADF Facesコンポーネントではなく、Panel CustomizableShow Detail FrameおよびLayout Customizableコンポーネントによってのみネイティブで受け入れられます。


この項には次のサブセクションが含まれます:

22.2.1 ADFセキュリティの構成方法

インスタンス・レベルのカスタマイズ制限を適用する前に、ADFセキュリティを使用してアプリケーションを保護する必要があります。詳細は、第74.3項「ADFセキュリティの構成」を参照してください。

22.2.2 jazn-data.xmlファイルでのロールおよび付与権限の定義方法

前の項では、実行時に、adminロールを有するユーザーのみがPanel Customizableのすべての機能にアクセスして、その属性をカスタマイズできるよう、Panel Customizableコンポーネントにカスタマイズ制限が適用されます。

この項では、adminおよびcustomerという2つのロールが作成され、両方のユーザーにページ権限が付与されます。adminロールを有するユーザーは、Panel Customizable (panelCustomizable1)コンポーネントをカスタマイズできます。ただし、前の項で適用したカスタマイズ制限のため、customerロールを有するユーザーはpanelCustomizable1をカスタマイズする権限がなく、これらのユーザーはpanelCustomizable1のすべての機能は使用できません。

jazn-data.xmlファイルでロールを作成するには:

  1. 「アプリケーション・リソース」パネルで、jazn-data.xmlファイルを右クリックして「開く」を選択します。

  2. 「アプリケーション・ロール」タブをクリックします。

  3. 「アプリケーション・ロール」ページで、図22-1に示すように、「ロール」セクションの「追加」アイコンをクリックして、「新しいロールの追加」を選択します。

    図22-1 jazn-data.xmlファイルのアプリケーション・ロール

    図22-1の説明が続きます
    「図22-1 jazn-data.xmlファイルのアプリケーション・ロール」の説明

  4. 「名前」フィールドで、ロール名adminを指定します。

  5. オプションで、「表示名」フィールドおよび「説明」フィールドで、新しいロールのための表示名および説明を指定します。

  6. 手順3から6を繰り返し、別のロールcustomerを追加します。

  7. 「ユーザー」タブをクリックします。

  8. 「ユーザー」ページで、「新規ユーザー」アイコンをクリックし、資格証明を指定して新規ユーザーを作成します。これらのユーザーにロールを割り当てます。このためには、図22-2に示すように、「割当済ロール」セクションの「ロールの割当て」アイコンをクリックし、「アプリケーション・ロールの割当て」を選択します。

    図22-2 jazn-data.xmlファイル内の「ユーザー」セクション

    図22-2の説明が続きます
    「図22-2 jazn-data.xmlファイル内の「ユーザー」セクション」の説明

  9. ページの左側にある「リソース権限」タブをクリックします。

  10. 「リソース・タイプ」から、「Webページ」を選択します。

  11. ページ定義のリストから、権限を付与するページを選択します。

  12. 「付与先」列で、図22-3に示すように、「権限受領者の追加」アイコンをクリックして、リストから「アプリケーション・ロールの追加」を選択します。

    図22-3 jazn-data.xmlファイルのリソース

    図22-3の説明が続きます
    「図22-3 jazn-data.xmlファイルのリソース」の説明

  13. 「ロールの選択」ダイアログで(図22-4)、adminロールおよびcustomerロールを選択し、「OK」をクリックします。

    図22-4 「ロールの選択」ダイアログ

    図22-4の説明が続きます
    「図22-4 「ロールの選択」ダイアログ」の説明

  14. それぞれのロールを選択し、図22-5に示すように、すべての権限(カスタマイズ、付与、パーソナライズおよび表示)を付与します。

    図22-5 jazn-data.xmlファイル内の権限リスト

    図22-5の説明が続きます
    「図22-5 jazn-data.xmlファイル内の権限リスト」の説明

ユーザーとロールの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

22.2.3 カスタマイズ・ポリシーを含めるためのSessionOptionsオブジェクトのカスタマイズ方法

adminロールを有するユーザーのみがPanel Customizableのすべての機能にアクセスできるという、Panel Customizableコンポーネントの予期された実行時動作(それをカスタマイズする機能を含む)を可能にするには、このリクエストのためのMDSセッションにおいてそのカスタマイズ・ポリシーにそのユーザー・ロールを含める必要があります。これを実現するには、次のカスタマイズ・ポリシーをSessionOptionsオブジェクトに含めます。

SecurityContext stx = ADFContext.getCurrent().getSecurityContext();
  cPol = new CustomizationPolicy(stx.getUserRoles());

次に、このカスタマイズ・ポリシーを持つMDSセッションが作成されます。

ComposerSessionOptionsFactoryクラスを実装するには:

  1. 「ファイル」メニューから「新規」を選択します。

  2. 「新規ギャラリ」ダイアログで、「一般」を開き、「Java」「Javaクラス」の順に選択して、「OK」をクリックします。

  3. 「Javaクラスの作成」ダイアログの「名前」フィールドに、AppsSessionOptionsFactoryImplと入力します。

  4. 「OK」をクリックします。

    AppsSessionOptionsFactoryImpl.javaファイルが「ソース」ビューにレンダリングされます。

  5. 次のライブラリをインポートします。

    import oracle.adf.share.ADFContext;
    import oracle.adf.share.security.SecurityContext;
    import oracle.adf.view.page.editor.mds.ComposerSessionOptionsFactory;
    import oracle.adf.view.page.editor.mode.ModeContext;
    import oracle.mds.config.CustClassListMapping;
    import oracle.mds.config.CustConfig;
    import oracle.mds.core.SessionOptions;
    import oracle.mds.cust.CustClassList;
    import oracle.mds.cust.CustomizationClass;
    import oracle.mds.cust.CustomizationPolicy;
    
  6. 次のコードを追加してComposerSessionOptionsFactoryクラスを実装し、SessionOptionsを渡します。

    public class AppsSessionOptionsFactoryImpl 
    implements ComposerSessionOptionsFactory
    {
      public AppsSessionOptionsFactoryImpl()
      {
      }
      public SessionOptions createSessionOptions(SessionOptions sessionOptions,
                                                 String mode)
      {    CustomizationClass[] custLayer;
        CustConfig custConfig = null;  
        CustomizationPolicy cPol = null;
            if (ModeContext.EDIT_MODE.equals(mode))
        {
          //Mode is Edit, change to SiteCC
          custLayer = EDIT_LAYER;
        }
        else
        {
          //Mode is View, change to UserCC + SiteCC
          custLayer = VIEW_LAYER;
        }
        try
        {
          CustClassList custClassList = new CustClassList(custLayer);
          CustClassListMapping custClassListMapping =
            new CustClassListMapping("/", null, null, custClassList);
          custConfig = new CustConfig(new CustClassListMapping[]
                { custClassListMapping });
          SecurityContext stx = ADFContext.getCurrent().getSecurityContext();
          cPol = new CustomizationPolicy(stx.getUserRoles());
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
        if(sessionOptions.getServletContextAsObject() != null)
        {
          return new SessionOptions(sessionOptions.getIsolationLevel(),
                                  sessionOptions.getLocale(), custConfig,
                                  sessionOptions.getVersionContext(),
                                  sessionOptions.getVersionCreatorName(),
                                  cPol == null ?
    sessionOptions.getCustomizationPolicy() : cPol,
                                  sessionOptions.getServletContextAsObject());
        }
        else
        {
          return new SessionOptions(sessionOptions.getIsolationLevel(),
                                  sessionOptions.getLocale(), custConfig,
                                  sessionOptions.getVersionContext(),
                                  sessionOptions.getVersionCreatorName(),
                                  cPol == null ?
    sessionOptions.getCustomizationPolicy() : cPol);
        }
      }
      //Edit mode SiteCC
      private static final CustomizationClass[] EDIT_LAYER =
        new CustomizationClass[]
        { new SiteCC() };
      //View mode SiteCC + USerCC
      private static final CustomizationClass[] VIEW_LAYER =
        new CustomizationClass[]
        { new SiteCC(), new UserCC() };
    }
    

22.2.4 コンポーザでの実装の登録方法

第21.3.5項「コンポーザでの実装の登録方法」で説明した手順を実行して、ComposerSessionOptionsFactoryクラスの実装を登録します。ここで、ユーザー・ロールはMDSセッションのカスタマイズ・ポリシーに含まれました。

22.2.5 WebCenterComposerFilterの構成方法

WebCenterComposerFilterを構成するには、第21.3.6項「WebCenterComposerFilterの構成方法」で説明した手順を実行します。

22.2.6 インスタンス・レベルのカスタマイズ制限の適用方法

この項では、Panel Customizableコンポーネント上の特定ロールに対してアプリケーション・カスタマイズを有効にします。実行時に、adminなど、指定したロールのみが、その属性のカスタマイズを含むPanel Customizableのすべての機能にアクセスできます。他のロールを有するユーザーも、限られたコンポーネント機能のみを使用できます。

インスタンス・レベルのカスタマイズ制限を適用するには:

  1. JSPXページで、コンポーザ・タグ・ライブラリからChange Mode Linkコンポーネントを追加します。

  2. Page CustomizableコンポーネントをChange Mode Linkコンポーネントの下に追加します。

  3. Page Customizable内のコンポーネントPanel Customizableにインスタンス・レベルのカスタマイズ制限を適用します。

    この制限は、ディレクトリpublic_html/mdssys/mdx/<pagename>.jspx.rdfに格納されます。

    「ソース」ビューは次のようになります。

    <pe:changeModeLink id="cml1"/>
    <pe:pageCustomizable id="pageCustomizable1">
      <cust:panelCustomizable id="panelCustomizable1" layout="scroll"/>
        <f:facet name="editor">
          <pe:pageEditorPanel id="pep1"/>
        </f:facet>
    </pe:pageCustomizable>
    

    「設計」ビューは、図22-6のようになります。

    図22-6 「設計」ビュー: 「許可されているカスタマイズ」

    図22-6の説明が続きます
    「図22-6 「設計」ビュー: 「許可されているカスタマイズ」」の説明

  4. Panel Customizable内にShow Detail Frameコンポーネントを追加し、別のPanel CustomizableコンポーネントをShow Detail Frameコンポーネントの子として含めます。


注意:

この手順は、複数のコンポーネントを示すことによって実行時の動作をより説明しやすいよう、説明のためのみにあります。コンポーザ・コンポーネントを追加する方法の詳細は、第15.2項「WebCenter Portal Frameworkアプリケーションでのページの作成」を参照してください。


22.2.7 実行時の処理

実行時の処理は、ログオンしているユーザーによって異なります。違いを確認するには、あるユーザーとしてログインしてから別のユーザーとしてログインしてください。例:

アプリケーション・ナビゲータでJSPXページを右クリックし、「実行」を選択します。

adminロールを有するユーザーとしてページにログインし、編集モードに切り替えます。Panel Customizableコンポーネントの内と外に、「コンテンツの追加」ボタンおよび「編集」アイコンが表示されます。図22-7で示すように、adminロールを有するユーザーとして、外側にあるPanel Customizableのプロパティにアクセスできます。つまり、adminロールを有するユーザーは、このコンポーネントを編集できます。

図22-7 admin用の編集モード

図22-7の説明が続きます
「図22-7 admin用の編集モード」の説明

customerロールを有するユーザーとしてページにログインし、編集モードに切り替えます。Panel Customizable外では、「コンテンツの追加」ボタンおよび「編集」アイコンは使用できません。つまり、このコンポーネントは、customerロールを有するユーザーには編集できません。「構造」ビューでは、「コンテンツの追加」アイコンと「編集」アイコンはコンポーネントに対してグレー表示されます。

22.3 customizationAllowed属性を使用したタグ・レベルのセキュリティの適用

デフォルトでは、Page Customizableコンポーネントは、その下にあるすべてのコンポーネントのアプリケーション・カスタマイズを有効にします。これを、いくつかのコンポーネントに対してカスタマイズを制限するように変更できます。Page Customizableコンポーネントは、ネストされたページまたはフラグメント上にあるコンポーネントに対してカスタマイズを有効にしません。このようなコンポーネントに対して手動でカスタマイズを有効にする必要があります。このような要件に対処するために、MDSは、customizationAllowed属性およびcustomizationAllowedBy属性を提供しています。これらの属性は、ページ上の特定コンポーネントに対するカスタマイズの有効化または制限に使用できます。

customizationAllowed属性は、コンポーネントを実行時にカスタマイズできるかどうかを制御します。この属性をfalseに設定する場合は、コンポーネントを実行時にカスタマイズできません。つまり、「コンポーネント・プロパティ」ダイアログでは、プロパティはグレー表示され、編集は許可されません。

customizationAllowedBy属性は、カスタマイズを可能にするロールを指定します。

この項では、コンポーネントに対してカスタマイズを有効化および制限する例を提供します。次のサブセクションが含まれます:

詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の拡張メタデータ・プロパティに関する項を参照してください。

22.3.1 イメージ・コンポーネントに対するアプリケーション・カスタマイズの有効化方法

イメージ・コンポーネントに対してアプリケーション・カスタマイズを有効化するには:

  1. 第18.2項「コンポーザ・コンポーネントを使用した編集可能ページの設計: 例」で作成したMyPage.jspxページで、ADF Faces Imageコンポーネント、たとえば、panelCustomizable1というPanel Customizable内のbrandingImage.gifを追加します。

    アプリケーション・カスタマイズは、Imageコンポーネントに対して自動的に有効になります(Page Customizableコンポーネント内にネストされているため)。

  2. MyPage.jspxを実行します。

  3. ページの編集モードに切り替えます。

  4. 「構造」を選択して、ページの「構造」ビューに切り替えます。

  5. 「構造」ビュー・パネル内のコンポーネント階層でイメージを選択し、プロパティの表示アイコンをクリックします。

    「コンポーネント・プロパティ」ダイアログにイメージ・プロパティが表示されます。このダイアログで、使用可能なプロパティを編集できます。プロパティを編集して、「OK」をクリックします。プロパティの編集可能値は、アプリケーション・カスタマイズがコンポーネントに対して有効になっていることを表します。

22.3.2 イメージ・コンポーネントに対するカスタマイズの制限方法

イメージ・コンポーネントに対してcustomizationAllowed属性をfalseに設定することで、ページ上のイメージのカスタマイズを制限できます。

イメージ・コンポーネントのカスタマイズを制限するには:

  1. Oracle JDeveloperで、前の項で追加したImageコンポーネントを選択し、プロパティ・インスペクタで、customizationAllowedの値をfalseに設定します。

  2. MyPage.jspxを実行します。

  3. ページの編集モードに切り替えます。

  4. 「構造」を選択して、ページの「構造」ビューに切り替えます。

  5. 「構造」ビュー・パネル内のコンポーネント階層でイメージを選択し、プロパティの表示アイコンをクリックします。

    「コンポーネント・プロパティ」ダイアログで、プロパティがグレー表示され、編集はできなくなります。

22.4 属性レベルのセキュリティの適用

特定のコンポーネント属性を実行時にカスタマイズできるかどうかを選択できます。また、属性に行われた変更がMDSなどの永続ストアまで持続する必要があるかどうかを指定できます。次の方法で、属性レベルのセキュリティを適用できます。

プロパティ・フィルタの適用の詳細は、第19.8.1項「プロパティ・フィルタの定義方法」を参照してください。

この項では、コンポーネント・レベルで変更を持続させる方法を説明します。次のサブセクションが含まれます:

22.4.1 コンポーネント・レベルでの変更の永続性の定義方法

アプリケーションが、変更を持続させるためにFilteredPersistenceChangeManagerを使用して構成されている場合は、adf-config.xmlファイル内のpersist-changes属性を使用して、特定の属性への変更を持続させる必要があるかどうかを指定できます。


注意:

変更の永続性の詳細は、第20.11項「永続性変更マネージャの構成」を参照してください。

adf-config.xmlで作成できるコンポーザ固有構成の詳細は、第B.2.2項「adf-config.xml」を参照してください。


例22-1は、いくつかの属性のために定義されたpersist-changes属性を持つサンプルadf-config.xmlファイルを示しています。

例22-1 adf-config.xmlファイル内でのpersist-changes属性の使用

<adf-config xmlns="http://xmlns.oracle.com/adf/config">
  <adf-faces-config xmlns="http://xmlns.oracle.com/adf/faces/config">
    <persistent-change-manager>
      <persistent-change-manager-class>
       oracle.adf.view.rich.change.MDSDocumentChangeManager
      </persistent-change-manager-class>
    </persistent-change-manager>
    <taglib-config>
      <taglib uri="http://xmlns.oracle.com/adf/pageeditor">
        <tag name="imageLink">
          <attribute name="destination">
            <persist-changes>true</persist-changes>
          </attribute>
        </tag>
        <tag name="customAction">
          <attribute name="text">
            <persist-changes>true</persist-changes>
          </attribute>
          <attribute name="icon">
            <persist-changes>true</persist-changes>
          </attribute>
        </tag>
      </taglib>
    </taglib-config>
  </adf-faces-config>
</adf-config>

22.4.2 実行時の処理

persist-changes属性を含み、値をtrueに設定する場合、コンポーネント属性に対して行われた変更は、そのコンポーネントのいずれのインスタンスでも維持されます。


注意:

persist-changes属性は、表示モードで行われた暗黙的カスタマイズにのみ適用されます。


22.5 Panel CustomizableおよびShow Detailコンポーネント・アクションでのアクション・レベルの制限の適用

Panel CustomizableコンポーネントおよびShow Detail Frameコンポーネントに対してアクションを実行するユーザーの能力は、ページ・セキュリティから継承します。継承は、adf-config.xmlファイル内のアプリケーション規模のスイッチenableSecurityの値に基づきます。アプリケーションを作成するときに「WebCenter Portal Frameworkアプリケーション」テンプレートを選択する場合、adf-config.xmlファイルは、「アプリケーション・リソース」パネルの「ディスクリプタ」の下のADF META-INFフォルダに存在します。

この項では、Panel CustomizableおよびShow Detail Frameコンポーネント・アクションに対してアクション・レベルの制限を適用する方法を説明します。次のサブセクションが含まれます:

22.5.1 adf-config.xmlへのenableSecurityセクションの追加方法

enableSecurity要素は、デフォルトではadf-config.xml内で使用できません。Panel CustomizableコンポーネントおよびShow Detail Frameコンポーネントのためのページ・レベルのセキュリティ継承をオーバーライドまたは拡張するには、例22-2のようにcustomizableComponentsSecurityセクションをadf-config.xmlファイルに追加し、そのセクション内のenableSecurity要素をtrueに設定します。

例22-2 adf-config.xmlのカスタマイズ可能コンポーネント・セキュリティ・セクション内のenableSecurity要素

<cust:customizableComponentsSecurity
xmlns="http://xmlns.oracle.com/adf/faces/customizable/config">
  <cust:enableSecurity value="true"/>
    <cust:actionsCategory>
       ..........................................
</cust:customizableComponentsSecurity>

アクションに対する制限は、次のレベルで実装できます。

  • ページ・レベル: Oracle WebCenter Portalのカスタマイズ可能コンポーネントがページ・レベルの権限を継承するように、これらのコンポーネントのセキュリティを定義できます。これがデフォルトの動作です。

    デフォルトでは、カスタマイズ可能コンポーネントは、編集、パーソナライズまたはカスタマイズなど定義されているページ・レベル権限から、許容されるアクションを継承します。つまり、ページに対する編集、パーソナライズまたはカスタマイズの権限を有するユーザーは、そのページに対する表示モードのユーザー・カスタマイズを実行できます。enableSecurity要素によって、セキュリティ継承動作をオーバーライドできます。次の値のいずれかを取ることができます。

    • true: trueに設定した場合(指定されていない場合はデフォルト)、ユーザーがコンポーネントを変更できるかどうかは、まずページ権限に基づいて決定され、次に、そのタイプの権限に対して指定されている現在のアクション・セットに応じて調整されます。たとえば、ユーザーがカスタマイズ権限を持っている場合、カスタマイズ・カテゴリを構成するアクション(移動、カスタマイズなど)はユーザーに使用できますが、adf-config.xmlファイルで定義されるアクションによってオーバーライドされます。

    • false: falseに設定した場合、すべてのアクションがユーザーに選択可能になります。adf-config.xmlで構成されたアクションとユーザーのページ権限は無視されます。

  • アクション・カテゴリ・レベル: Panel CustomizableコンポーネントおよびShow Detail Frameコンポーネントのすべてのアクションに対してセキュリティを定義できます。

    adf-config.xmlファイル内にactionsCategory要素を追加すると、複数のアクションに対するセキュリティを同時に定義できます。有効化したactionCategory属性に基づいて、コンポーネントに適切な権限が設定されます。

  • アクション・レベル: Panel CustomizableコンポーネントおよびShow Detail Frameコンポーネントの個々のアクションに対してセキュリティを定義できます。

    adf-config.xmlファイル内でactions要素を使用すると、各アクションを有効化または無効化できます。有効化したactions属性に基づいて、コンポーネントに適切な権限が設定されます。


注意:

  • adf-config.xmlファイルでenableSecuritytrueに設定し、アクションまたはアクション・カテゴリに対する制限を定義する場合は、これらの制限を有効にするために、表示権限に加えて、ページに対してパーソナライズ権限またはカスタマイズ権限を付与する必要があります。

    enableSecurity要素を使用しないかfalseに設定する場合、ページ・レベルの権限は受け入れられます。このような場合、ページではデフォルトですべてのカスタマイズ可能コンポーネント・アクションがレンダリングされるため、ページに対する表示権限があるだけで十分です。

  • 権限は、親からのみ継承できます。階層内の他の位置にあるコンポーネントからの継承は、サポートされていません。

  • アクション・カテゴリ・レベルまたはアクション・レベルで定義された制限は、アプリケーション全体にわたるPanel CustomizableコンポーネントまたはShow Detail Frameコンポーネントのすべてのインスタンスに適用できます。コンポーネントの単一インスタンスに対して制限を適用できません。


adf-config.xmlファイルでenableSecuritytrueに設定する場合、アプリケーション・レベルでコンポーネント・アクションのセキュリティを定義できます。trueの値は、adf-config.xml内に指定されているactionsCategoryおよびactionsの値以外に権限チェックが行われることを示します。

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

adf-config.xmlファイルのカスタマイズ可能コンポーネント・アクション・セキュリティ・セクションにactionsCategory要素を追加して、複数のPanel CustomizableおよびShow Detail Frameコンポーネント・アクションに対するセキュリティを定義できます。有効化したactionsCategory属性に基づいて、コンポーネントに適切な権限が設定されます。

adf-config.xmlファイルのactionsおよびactionsCategory要素には、特定のデフォルト・マッピングがあります。表22-1に、様々なactionsCategory属性と、デフォルトでサポートされるアクションを示します。

adf-config.xmlで作成できるコンポーザ固有構成の詳細は、第B.2.2項「adf-config.xml」を参照してください。

表22-1 アクション・カテゴリおよびアクション・マッピング

actionsCategory サポートされるアクション

personalizeActionsCategory

showMoveAction

showRemoveAction

showMinimizeAction

showResizer

allowAction

customizeActionsCategory

showEditAction

showAddContentAction

showSplitAction


personalizeActionsCategory設定およびcustomizeActionsCategory設定の組合せに基づくコンポーネントの動作は、次のとおりです。

  • personalizeActionsCategoryおよびcustomizeActionsCategoryの両方がfalseに設定される場合、ユーザーは、Show Detail Frameコンポーネントを移動、展開、折りたたみ、削除、サイズ変更または編集できず、Panel Customizableコンポーネントを編集または削除することや、それらにコンテンツを追加することもできません。

  • personalizeActionsCategorytrueに設定され、customizeActionsCategoryfalseに設定される場合、ユーザーは、Show Detail Frameコンポーネントを移動、展開、折りたたみ、削除またはサイズ変更できますが、それらを編集できません。また、Panel Customizableコンポーネントを削除して、それらの内部にコンポーネントを再配置できますが、それらを編集することやページにコンポーネントを追加できません。


    注意:

    他のアクション設定と同様に、allowAction設定は、ページへのコンテンツの追加およびページ上のコンテンツの移動または再配置の機能を制御します。詳細は、第22.5.3項「アクション・レベルでのセキュリティの定義」を参照してください。


  • personalizeActionsCategoryおよびcustomizeActionsCategoryの両方がtrueに設定される場合、ユーザーは、Show Detail Frameコンポーネントを移動、展開、折りたたみ、削除、サイズ変更および編集でき、Panel Customizableコンポーネントを編集および削除することや、それらにコンテンツを追加することもできます。ユーザーは、「コンテンツの追加」ボタンを使用してリソース・カタログからコンテンツを追加したり、ボックスの追加アイコンを使用してBoxコンポーネントを追加したり、ドラッグ・アンド・ドロップすることで他のPanel Customizableコンポーネントからコンポーネントを移動できます。


注意:

権限が付与からカスタマイズ、パーソナライズ、表示の順にカスケードするため、personalizeActionsCategoryfalseに設定し、customizeActionsCategorytrueに設定することはお薦めできません。つまりカスタマイズを有効にする場合は、ユーザーにすでにページに対するパーソナライズ権限がある必要があります。


例22-3に、adf-config.xmlファイルのカスタマイズ可能コンポーネント・アクション・セキュリティ・セクションに追加できるactionsCategoryエントリを示します。

例22-3 カスタマイズ可能コンポーネント・セキュリティ・セクション内のactionsCategory要素

<cust:customizableComponentsSecurity 
xmlns="http://xmlns.oracle.com/adf/faces/customizable/config">
  <cust:enableSecurity value="true"/>

  <cust:actionsCategory>
    <cust:actionCategory name="personalizeActionsCategory" value="true"/>
    <cust:actionCategory name="customizeActionsCategory" value="false"/>
  </cust:actionsCategory>

  <cust:actions>
  ..........................................
  </cust:actions>

</cust:customizableComponentsSecurity>

例22-4に示すように、これらの要素の値にはELも使用できます。

例22-4 actionCategoryエントリ内のカスタマイズ可能コンポーネントで使用されるEL

<cust:actionsCategory>
  <cust:actionCategory name="personalizeActionsCategory" value="#{appBusinessRules.InsideCorpNetwork}"/>
</cust:actionsCategory>

参照用として、マネージドBeanのappBusinessRulesは、第74.15項「ポートレットおよびカスタマイズ可能コンポーネントの継承されたセキュリティのオーバーライド」例74-7で示すように定義されます。

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

adf-config.xmlファイルのカスタマイズ可能コンポーネント・アクション・セキュリティ・セクション内でactions要素を使用して、個々のShow Detail Frameアクションを表示または非表示できます。有効化したactions属性に基づいて、Show Detail Frameコンポーネントに適切な権限が設定されます。

adf-config.xmlで作成できるコンポーザ固有構成の詳細は、第B.2.2項「adf-config.xml」を参照してください。

他のアクション設定と同様に、allowAction設定は、ページへのコンテンツの追加およびページ・コンテンツの移動または再配置の機能を制御します。

コンポーザでは、ユーザーは次の方法でコンテンツを追加および再配置できます。

  • 「ボックスの追加」アイコンを使用してBoxコンポーネントを追加します。

  • 「コンテンツの追加」ボタンを使用して、リソース・カタログからBoxコンポーネントにコンテンツを追加します。

  • Show Detail Frameコンポーネントの「アクション」メニューで「上へ移動」および「下へ移動」アクションを使用することで、Panel Customizableコンポーネント内でShow Detail Frameコンポーネントを移動します。

  • Panel Customizableコンポーネントと交わるようにShow Detail Frameコンポーネントをドラッグ・アンド・ドロップします。

表22-2に、allowAction設定およびshowAddContentAction設定に応じてコンテンツを追加できるかどうかを示します。

表22-2 ページへのコンテンツの追加のためのアクション設定

allowAction設定 showAddContentAction設定 「コンテンツの追加」ボタンが表示されているかどうか

true

true

はい

true

false

いいえ

false

true

いいえ

false

false

いいえ


表22-3では、allowAction設定およびshowSplitAction設定に応じて「ボックスの追加」アイコンを使用してコンテンツを追加する機能を説明します。

表22-3 ページでのコンテンツの再配置のためのアクション設定

allowAction設定 showSplitAction設定 「ボックスの追加」アイコンが表示されているかどうか

true

true

はい

true

false

いいえ

false

true

いいえ

false

false

いいえ


表22-4では、allowActionおよびshowMoveAction設定によってページにコンテンツを移動する機能を説明します。

表22-4 ページでのコンテンツの移動のためのアクション設定

allowAction設定 showMoveAction設定 ページ上でコンテンツを移動したかどうか

true

true

はい

true

false

いいえ

false

true

いいえ

false

false

いいえ



注意:

  • アクション・カテゴリ・レベルおよびアクション・レベルの両方でセキュリティを定義し、一部のアクションの値が矛盾する場合は、falseの値がtrueより優先されます。たとえば、personalizeActionsCategorytrueに設定し、allowActionfalseに設定する場合、ユーザーは、実行時にアプリケーションのページにコンテンツを追加できません。同様に、personalizeActionsCategoryfalseに設定するがallowActiontrueに設定する場合も、ユーザーは、実行時にアプリケーションのページにコンテンツを追加できません。

  • アクション設定を使用した制限は、ページの「コンテンツの追加」ビューまたは「デザイン」ビューでのみ適用できます。つまり、Show Detail FrameコンポーネントでshowEditActionshowRemoveActionなどのアクションをfalseに設定する場合、ユーザーはページの「コンテンツの追加」ビューまたは「デザイン」ビューでこのようなコンポーネントを編集または削除できません。ただし、ユーザーは「構造」ビューでこのようなコンポーネントを選択して、それらを編集または削除できます。


例22-5に、adf-config.xmlファイルのカスタマイズ可能コンポーネント・アクション・セクションに追加できるactionsエントリを示しています。要素値にはELを使用できます。

例22-5 カスタマイズ可能コンポーネント・セキュリティ・セクション内のaction要素

<cust:customizableComponentsSecurity 
xmlns="http://xmlns.oracle.com/adf/faces/customizable/config">
  <cust:enableSecurity value="true"/>

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

  <cust:actions>
    <cust:action name="showMinimizeAction" value="true"/> 
    <cust:action name="showMoveAction" value="false"/> 
  </cust:actions>

</cust:customizableComponentsSecurity>

22.6 タスク・フローのセキュリティの実装

タスク・フロー編集権限は、タスク・フローを編集する体験に非常に大きな影響を与えるため、タスク・フローに対する編集権限はデフォルトでは無効になっています。実際に、デフォルトでは、タスク・フローに対して権限は与えられていません。適切な権限を有するユーザーのみがタスク・フローを編集できることを確実にするには、コンポーザ・コンテキストで次の2つのタスクを実行することで、タスク・フローのセキュリティを実装できます。

この項では、タスク・フローに対して制限を適用して権限チェックを可能にする方法を説明します。次のサブセクションが含まれます:

22.6.1 タスク・フローに対する権限の付与

jazn-data.xmlファイル概要エディタの「リソース権限」ページで権限付与を作成することで、タスク・フローのアクセス・ポリシーを定義できます。作成した権限は、ファイルのポリシー・ストア・セクションのメタデータとして表示されます。これらの権限またはパーミッションは、コンポーザでのタスク・フローのズーム・インおよび編集の機能を制御します。

jazn-data.xmlファイルでのタスク・フローに対する権限を付与または取り消すには:

  1. 「アプリケーション」メニューから、「保護」「リソース権限」の順に選択します。

  2. jazn-data.xmlファイル内で、「リソース・タイプ」から「タスク・フロー」を選択します。

  3. 「リソース」リストから、タスク・フローを選択して、「付与先」列の「権限受領者の追加」アイコンをクリックし、必要なロール・カテゴリ(「アプリケーション・ロールの追加」など)を選択します。

  4. 権限を付与するロールを選択するか、「追加」アイコンをクリックして新規ロールを作成します。

  5. 「OK」をクリックします。

  6. 「アクション」列で1つ以上の権限を選択します(図22-8)。

    図22-8 jazn-data.xmlファイル内のタスク・フロー・セキュリティ・リージョン

    図22-8の説明が続きます
    「図22-8 jazn-data.xmlファイル内のタスク・フロー・セキュリティ・リージョン」の説明

  7. jazn-data.xmlファイルを保存します。


注意:

customize権限とview権限を付与する場合は、ファイルのソース・ビューに権限付与が次のように表示されます。

<permissions>
  <permission>
    <class>oracle.adf.controller.security.TaskFlowPermission</class>
    <name>/WEB-INF/task-flow-definition.xml#task-flow-definition</name>
    <actions>customize,view</actions>
  </permission>
</permissions>

TaskFlowPermissionクラスは、タスク・フローの操作にマップされるタスク・フロー固有アクションを定義します。


タスク・フロー権限に基づくコンポーザの動作の詳細は、第16.7.1項「ページおよびタスク・フローのセキュリティ」を参照してください。

タスク・フローに付与する権限の定義の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFバインド・タスク・フローのポリシーの定義方法に関する項を参照してください。

22.6.2 タスク・フローの権限チェックの有効化

ユーザーがタスク・フローの編集を試みるとき、デフォルトでは、コンポーザはタスク・フローの権限をチェックしません。タスク・フローのセキュリティを強化するには、タスク・フローの権限をチェックして編集に必要な権限を有するユーザーのみを許可するように、コンポーザを構成する必要があります。それを行うには、次の例で示すように、アプリケーションのadf-config.xmlファイル内の<pe:task-flow-security>要素のcheck-permissionプロパティを設定します。

<pe:page-editor-config>
  <pe:security-config>
    <pe:task-flow-security check-permission="true" />
  </pe:security-config>
</pe:page-editor-config> 

adf-config.xmlの設定の詳細は、第B.2.2項「adf-config.xml」を参照してください。


注意:

前のリリースでは、次のJVMパラメータを使用してサーバーを実行することで、タスク・フローに対して権限チェックを有効にできました。

-Doracle.composer.enableTaskflowPermissionCheck=true

ただし、現在この方法は非推奨です。後方互換性のために、コンポーザはまずenableTaskflowPermissionCheckフラグをチェックしてからadf-config.xmlファイル内の設定をチェックします。


22.7 コンポーザのデフォルト・セキュリティ・ポリシーのオーバーライド

コンポーザでは、カスタマイズを有効にするために次のセキュリティ・チェックが実行されます。

ユーザーは、前述の条件を満たしている場合のみ、ページおよびタスク・フローをカスタマイズできます。デフォルトでは、コンポーザは、ページ・レベルのセキュリティ・チェックを実行するためにpagePolicyを使用します。

場合によっては、様々なセキュリティ・チェックを実行する必要がある(おそらく、コンポーザによってすでに提供されているものにアプリケーション・レベルのいくつかのチェックを追加する)可能性があります。それを行うには、コンポーザのデフォルトのセキュリティ・ポリシーをカスタム・ポリシーでオーバーライドします。この項では、その実行方法を説明します。次の項が含まれます:

22.7.1 カスタム・セキュリティ・ポリシーの作成方法

コンポーザの基本セキュリティ・クラスを拡張することで、カスタム・ポリシーを作成できます。ページまたはタスク・フローをチェックするかどうかに応じて、次の基本セキュリティ・クラスを拡張できます。

  • ページ・ポリシー: oracle.adf.view.page.editor.security.BasePageSecurityPolicy

  • タスク・フロー・ポリシー: oracle.adf.view.page.editor.security.TaskflowPermissionPolicy

もう一歩前進するために、カスタム・チェックが適用できない場合や適切な結果を実現しない場合にコンポーザのデフォルト・チェックが実行されるように、ポリシーを構成できます。このためには、DefaultPageSecurityPolicyクラスを拡張して、例22-6で示すようにsuper.isCustomizable()メソッドをコールする必要があります。

例22-6 DefaultPageSecurityPolicyを拡張するカスタム・ポリシー

public class CustomPageSecurityPolicy extends DefaultPageSecurityPolicy
{
  . . .

  public boolean isCustomizable()
  {
    // Security checks that this custom page policy must perform should go here
    . . . 
    // If we cannot determine the security policy, chain it to Composer's default implementation
    return super.isCustomizable();
  }
}

22.7.2 コンポーザでのカスタム・ポリシーの登録方法

コンポーザのセキュリティ・ポリシーをオーバーライドするようカスタム・ポリシーを構成するには、<pe:security-config>セクションをアプリケーションのadf-config.xmlファイルに含めて、カスタム・セキュリティ・ポリシーを登録する必要があります。

カスタム・セキュリティ・ポリシーを登録するには:

  1. 「アプリケーション・リソース」パネルの「ディスクリプタ」の下のADF META-INFフォルダから、アプリケーションのadf-config.xmlファイルを開きます。

  2. <pe:page-editor-config>セクションが存在しない場合は追加し、その中に次のコードを追加します。

    <pe:security-config>
      <pe:security-policies>
        <pe:security-policy name="optional_unique_name" override="composer_security_policy_name">
          <pe:policy-class>fully_qualified_custom_policy_class_name</pe:policy-class>
        </pe:security-policy>
      </pe:security-policies>
    </pe:security-config>
    

    ここで

    overrideは、オーバーライドされるデフォルト・ポリシーを指定します。オプションは、pagePolicyおよびtaskflowPolicyです。

    タスク・フロー・ポリシーの詳細は、第22.6項「タスク・フローのセキュリティの実装」を参照してください。


    注意:

    ここに記載していない即時利用可能なポリシーは、引き続きデフォルトでチェックされます。


    <pe:policy-class>は、カスタム・ポリシー・クラスの名前を指定します。

  3. adf-config.xmlファイルを保存します。

22.7.3 実行時の処理

コンポーザは、カスタム・ポリシーで定義されているセキュリティ・チェックを実行し、それに応じてコンポーネントに対してカスタマイズを有効にします。

22.8 コンポーザのコンポーネント・セキュリティでの問題のトラブルシューティング

この項では、コンポーザ・コンポーネントの使用中に発生する可能性のあるセキュリティ関連問題のトラブルシューティングに役立つ情報を提供します。

ロギングの構成の詳細は、「コンポーザのADFロギングの構成」を参照してください。

問題

Show Detail FrameおよびPanel Customizable「編集」アイコンが表示されないか、Panel Customizable「コンテンツの追加」ボタンが表示されません。また、Panel Customizableコンポーネントの外部にShow Detail Frameを移動できないか、別のPanel Customizableコンポーネントにドロップできません。

解決方法

MDSを使用することでPanel Customizableが制限されていることと、adf-config.xmlでエントリを使用することでコンポーネント・アクションが保護されていないことを確認します。

問題

jazn-data.xmlファイルでタスク・フローに権限を付与できません。

解決方法

第22.6項「タスク・フローのセキュリティの実装」で記述しているように、Java起動パラメータでサーバーを実行していることを確認します。