Как управлять доступом пользователей к элементам других пользователей в ZF2?

Я использую простой ACL, вдохновленный это видео урок. acl.global.php имеет структуру как

return [
'acl' => [
'roles' => [
'guest' => null,
'member' => 'guest',
'admin' => 'member'
],
'resources' => [
'allow' => [
'Application\Controller\Index' => ['all' => 'member'],
'Application\Controller\Error' => ['all' => 'member'],
'Item\Controller\Process' => [
'index' => 'member',
'create' => 'member',
'showItem' => 'member', // website.tld/item/:id
'showList' => 'member' // website.tld/list-items
]
]
],
'redirect_route' => [
'params' => [],
'options' => ['name' => 'error403']
]
]
];

Есть Authorization\Acl\Acl класс, который расширяется Zend\Permissions\Acl\Acl и добавляет к нему функциональность для настройки объекта, используя данные из файла конфигурации выше.

Третий и последний актер Authorization\Module учебный класс. Там обработка ACL добавляется как route слушатель события и в этом методе слушателя if (! $acl->isAllowed($role, $controller, $action))пользователь получает 403 Код состояния HTTP и соответствующий вид.

Теперь я хочу дополнительно ограничить доступ пользователей к элементам (статьи, заказы, комментарии и т. Д.). Пользователь должен видеть только детальный вид item (showItemAction), если он является его владельцем / автором. Как интегрировать такую ​​логику в ACL?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]