Я реализую AuthorizationService
, в основном он расширяет Zend_Acl
и переопределяет authenticate()
метод для работы с моим собственным адаптером.
Допустим, у меня User
, Article
, ArticleComment
, ArticleVote
, CommentVote
.
Мои правила просты:
- Участник может редактировать свою собственную статью
- Участник может проголосовать по любой статье
- Гость не может голосовать за комментарий
- Гость не может отдавать более 10 голосов в день.
Однако я не уверен, как это реализовать, для последних правил это легко, это должно быть Утверждение, однако как насчет Участника, который может редактировать свою собственную Статью?
Должен ли я создать динамический Acl и создать ресурс типа «Article-545» и роль «User-5656», а затем создать правила Acl или иметь более общий ресурс «Article» и общую роль » Пользователь ', и используйте Утверждение для авторизации Пользователя 545 для редактирования Статьи 5656?
Как поживаете, какие-нибудь советы?