Подходит ли Zend ACL для прав владельца контента - PullRequest
2 голосов
/ 21 октября 2010

Я думаю, что Zend ACL используется для предоставления разрешений типам пользователей (студент, преподаватель). Может ли он использоваться для предоставления разрешений на основе контента. Я имею в виду, что этот пост был написан этим пользователем, и они могут его редактировать. Другие не могут редактировать это. Может ли Zend ACL работать с этим требованием?

Ответы [ 2 ]

3 голосов
/ 21 октября 2010

Вы можете создавать собственные утверждения для Zend_Acl . Эти пользовательские утверждения могут быть переданы обычному методу allow() в качестве четвертого параметра, например

$acl->allow(null, null, null, new MyCustomAssertion());

Утверждение может содержать любой код, который вы хотите. Он должен возвращать логическое значение, которое будет рассматриваться для любых проверок ACL, например, этот ИД пользователя разрешил доступ к этому ресурсу с такими привилегиями и этой пользовательской проверкой ?

3 голосов
/ 21 октября 2010

Да, Zend ACL в ZF можно использовать для определения прав владельца и настройки, позволяющей владельцу контента редактировать свои собственные сообщения и т. Д. Я не уверен, есть ли в этом месте конкретные примеры того, что вы хотите, но вы можете проверить некоторые ZendОбучающие программы ACL от zftutorials.com

ОБНОВЛЕНИЕ

Настройка ACL может быть выполнена различными способами в зависимости от настройки ваших групп и т. Д.,Из-за этого трудно обеспечить четкий способ, как это сделать, но суть его заключается в том, чтобы настроить разрешения для каждого владельца.Тогда в вашем контроллере, где происходит это действие, у вас будет что-то вроде:

if (!$this->_helper->acl->isAllowedOwn($author->user_id, 'content', 'edit')) {

Это скажет, разрешено ли этому автору редактировать свой собственный контент.Эти правила нужно будет каким-то образом настроить, либо через файл конфигурации, либо через xml-файл, который может пролить свет на zftutorials.

Если у меня будет время на разработку учебника, я обновлю его здесь,Но да, это довольно утомительный процесс - создать учебник с ZF, учитывая, что у каждого есть разные способы работы с предметами и предпочтениями, не говоря уже о внутренней работе, необходимой для его настройки.

...