0

今後のプロジェクトの (役割ベースの) アクセス制御リストを読んでいて、それがどのように機能するかを理解するのに苦労しています。

私が見た例では、コントローラー/モデルの特定のアクションへのアクセスの許可と拒否について常に話しています。例: グループ「訪問者」はread投稿でき、「メンバー」は投稿できreadedit「管理者」は投稿できますcreate, read, update, delete

これらのことは、私には少しグローバルすぎるようです。私自身の状況(この例に合わせて調整)では、多数のグループがあり、それぞれがedit特定のカテゴリ (またはその他の基準) に属する投稿のみを行うことができます。

私がそれを機能させるために考えることができる唯一の方法は、各カテゴリの投稿用に新しい ACO を作成することです。

posts_cat:1
posts_cat:2
posts_cat:3

そして、それらのそれぞれに個別にアクセスを許可します (これは、すべてにアクセスする必要がある管理者にとって重要な PITA になる可能性があります)。

ACL パターンはこのような状況にどのように対応しますか? より良い方法はありますか?

私は最終的にこれを PHP で実装し、Cake を使用します。そのため、PHP を使用した例は歓迎されますが、必須ではありません!

4

1 に答える 1

0

1 つのオプションは、次のようなルールです。

allow('your_role', 'edit_post', 'draft'); allow('your_role', 'edit_post', 'category1');

または、属性ベースのアクセス制御を構築することもできます (ロール ベースにすることもできます)。これは、ロールが属性に基づいて (より広い意味で) オブジェクトに対してアクションを実行できるようにすることです。

于 2009-10-20T06:22:05.990 に答える