0

クラス/モデルがあるとします

  • プロジェクト (多数のリストがあります)
  • リスト

プロジェクトの共同作業者であるユーザーのみがリストを追加できるようにしたいと考えています。それ、どうやったら出来るの。使用する必要があることはわかっていますZend_Acl_Assertが、リソースとして何を渡しますか。編集/削除の場合、リスト自体を渡します。追加の場合は、プロジェクトである必要があるようです。を に移動すると、どちらがより正しいと思わListsController#addAction()ProjectsController#addListAction()ますか? これは1つの可能性です

しかし、次のようなことをしたい場合、どうすればListsController#addAction()ACL を設定できますか?

$acl->allow('user', 'list', 'add', new assertClass());

リソースとして「リスト」を渡します。代わりにプロジェクト オブジェクトを渡すことはできますか? それは意味をなさないようです

4

2 に答える 2

1

代わりに、どういうわけかプロジェクトオブジェクトを渡すことはできますか?

オブジェクトが実装Zend_Acl_Resource_Interfaceされ、ACLに登録されている限り、任意のオブジェクトを使用できます。

于 2010-12-21T21:38:52.130 に答える
0

編集と削除のためにリストを渡すのはなぜですか? リストを渡さずにそれを行うとうまくいきます。

追加のチェックが必要な場合は、モデルの preSave に ensurePermission チェックを追加しました。これにより、特に ACL がチェックされ、問題がないことが確認されます。

于 2010-12-21T22:19:34.560 に答える