0

ServiceBuilder で構築されたカスタム モデルに固有のカスタム アクセス許可を追加しようとしています (以下の resource-actions/default.xml からの抜粋を参照)。ポートレットはすでにデプロイされ、使用されています。

これに関して 2 つの質問があります。

  1. 新しいアクション キーが考慮されるように、アップグレード メソッドで適切なリソースを再作成する必要があると思います。そうですか ?
  2. すべてのモデル インスタンスにリソースを再度追加する必要がある場合、以前に割り当てられたアクセス許可は維持されますか?

よろしく、 アラン


resource-actions default.xml ファイルの抽出:

    <permissions>
        <supports>
            <action-key>VIEW</action-key>
            <action-key>DELETE</action-key>
                            ...
            <action-key>NEW_CUSTOM_PERMISSION</action-key>
        </supports>
                     ...
    </permissions>
4

1 に答える 1

1

パーミッション システムのロジックは、ロール -> アクション キー -> リソースです。

「アクション キー -> リソース」は、ポートレットのビジネス ロジックで定義され、他のページまたはポータル インスタンスで実行されます。このようにして、ポートレットのすべてのインスタンスについて、公開されたアクション キーによってリソース (ページ、モデル、サービス ビルダー エンティティなど) を制御する方法を制御できます。

「ロール -> アクション キー」の関係は、同じポートレットのインスタンスで次の 2 つの方法で異なる場合があります。

  1. (管理者のコントロール パネルから) アクション キーにロールを割り当てることにより、ポートレットをデプロイする特定のポータルに対して、まったく異なるロールを使用できます。このようにして、そのポータルのすべてのページで従ういくつかの最小限の/既定のアクセス許可も定義します。たとえば、ポータル P1 ではロール R1 のすべてのユーザーがアクション A1 を実行できますが、ポータル P2 ではロール R1 はまったくありません。
  2. パーミッション テーブルを使用して、上記のパーミッションを微調整または上書きし、同じポータルの異なるページに配置されたインスタンスに異なるパーミッションを付与します。たとえば、ロール R1 のユーザーは、ページ p1 でアクションを実行できますが、別のページ p2 ではアクションを実行できません。

アクション キーは、リソースとロールの間の中間層として想像できます。これにより、抽象化により、ロールとリソースのバインディングの優れた組み合わせが作成されます。

于 2013-03-14T20:06:45.597 に答える