0

私は CakePHP は初めてですが、他の PHP フレームワークには精通しています。次のACLセットアップを実装する「ケーキの方法」を理解しようとしています..

現在、簡易 ACL チュートリアルとして ACL を構成しています。これは、グループを特定のアクションに制限したい場合に最適です。

ただし、編集などの 1 つのアクションがあり、編集しようとしているユーザーのグループに応じて編集アクションを制限したい場合。

グループ「ユーザー」のユーザーは、編集アクションへのアクセスを拒否されます。
グループ「モデレーター」のユーザーは、編集しているユーザーがグループ「ユーザー」にいる場合、編集を許可されます。
グループ「admin」のユーザーは、編集しているユーザーがグループ「user」または「moderator」にいる場合、編集を許可されます。

User および Group テーブルが aco および aro のものとは異なるという事実と、将来つまずかないようにこの関係をどのように設定する必要があるかについて、頭を悩ませています。

さまざまなエンド アクションにバウンスするルーティング インデックス関数を作成する実験を始めました。edit_user、edit_mod、edit_admin を ACL でロックできましたが、これを整理するためのより良い方法があるかどうかはわかりませんでした。

前もって感謝します、
ピート

4

1 に答える 1

1

次のように許可を作成できます。

ARO:

  • ユーザー
    • モデレータ
      • 管理者
    • 他のタイプのメンバー 1
    • 他のタイプのメンバー 2

ACO :

  • ユーザーコントローラー
    • アクションの編集
      • ユーザーの編集
        • モデレーターの編集
          • 管理者を編集
        • 他のタイプのメンバーを編集します 1
        • 他のタイプのメンバーを編集する 2

次に、次のように言えます。

  1. モデレーターには、ユーザーを編集する権限があります: モデレーターと管理者の両方が、任意のタイプのメンバーを編集できます
  2. モデレーターにはモデレーターを編集する権限がありません: モデレーターと管理者の両方がモデレーターを編集できません
  3. 管理者にはモデレーターを編集する権限があります: 管理者はモデレーターと管理者を編集できます
  4. 等々
于 2012-09-17T21:33:56.353 に答える