我正在实现一个AuthorizationService
,基本上它扩展Zend_Acl
和覆盖authenticate()
方法以使用我自己的适配器。
假设我有User
, Article
, ArticleComment
, ArticleVote
, CommentVote
.
我的规则很简单:
- 会员可以编辑自己的文章
- 会员可以对任何条款进行投票
- 客人不能对评论投票
- 客人每天最多只能投 10 票。
但是,我不确定如何实现这一点,对于最后的规则,很容易,它应该是一个断言,但是,可以编辑自己的文章的成员呢?
我应该创建一个动态 Acl,并创建一个像“Article-545”和一个角色“User-5656”这样的资源,然后创建一个 Acl 规则,还是有一个更通用的“文章”资源和一个通用角色“用户”,并使用断言授权用户 545 编辑文章 5656?
你是怎么做的,有什么建议吗?