Пользовательское действие в ACL CakePHP aros_acos

Я следую этому руководству по ACL здесь и я заметил, что таблица aros_acos содержит столбец CRUD.

Если у меня есть пользовательское действие только для администратора (которое я называю admin_dashboard) и хочу, чтобы его видела только группа администраторов, как мне заполнить таблицу aros_acos?

Я попытался создать столбец в таблице aros_acos с именем «admin_dashboard» и добавил этот код $this->Acl->allow('Admin', 'Event', array('admin_dashboard'));, но, похоже, он не заполняет admin_dashboard в строке Admin со значением 1.


person John Doe    schedule 23.03.2012    source источник


Ответы (1)


таблица aros_acos должна быть заполнена либо "вручную" (т. е. с помощью инструкции sl), либо с помощью Cake-Shell. Учебник, на который вы ссылаетесь, кажется, хорошо написан, и я не обнаружил, что он притворяется, что функция изменяет таблицу: попробуйте прочитать его еще раз.

Оператор $this->Acl->allow() предназначен для того, чтобы просто программно разрешить действие, которое в противном случае было бы запрещено таблицей aros_acos (или предыдущим deny()).

Возможно, вам лучше настроить маршрутизацию для сопоставления и использовать admin_ действия (возможно, прочитать в пекарня).

person marcocassisa    schedule 08.10.2012
comment
Независимо от того, что говорится в учебнике... если вы посмотрите на код $this->Acl->allow(), вы увидите, что он действительно предназначен для изменения таблицы aros_acos. - person geoidesic; 17.10.2017