#cakephp #acl
#cakephp #acl
Вопрос:
Я следую примеру Acl в руководстве по cake .
При достижении успеха у меня возникает еще один вопрос по применению Acl к моему проекту
function initDB() {
$group = amp; $this->User->Group;
//Allow admins to everything
$group->id = 1;
$this->Acl->allow($group, 'controllers');
//allow managers to posts and widgets
$group->id = 2;
$this->Acl->deny($group, 'controllers');
$this->Acl->allow($group, 'controllers/Posts');
$this->Acl->allow($group, 'controllers/Widgets');
//allow users to only add and edit on posts and widgets
$group->id = 3;
$this->Acl->deny($group, 'controllers');
$this->Acl->allow($group, 'controllers/Posts/add');
$this->Acl->allow($group, 'controllers/Posts/edit');
$this->Acl->allow($group, 'controllers/Widgets/add');
$this->Acl->allow($group, 'controllers/Widgets/edit');
//we add an exit to avoid an ugly "missing views" error message
echo "all done";
exit;
}
В коде
1.Как ограничить доступ пользователя только к его собственной информации
2. Мне нужно предупреждать, когда пользователь отказывается в доступе к действию
3. при входе в систему с любой ролью я не могу выполнить действие выхода
Спасибо
Ответ №1:
вам нужен acl на основе строк, а не тот, который вы показали, основанный на действии http://jmcneese.wordpress.com/2009/04/07/update-row-level-model-access-control-for-cakephp /
Комментарии:
1. БОЖЕ, похоже, что следующий шаг будет сложнее, я также понимаю, что ACL невелик, можете ли вы объяснить мне разницу между ACL и Permissionable
Ответ №2:
Компонент ACL CakePHP может немного разочаровывать. По сравнению с компонентом ACL в Zend Framework, он кажется довольно отсутствующим.
Я никогда не пробовал плагин, на который ссылается dogmatic69. В моем приложении я решил использовать ACL для того, в чем ACL хорош, и найти другие способы проверки разрешений в ситуациях, когда мне нужно ограничить доступ к строкам и другим вещам, вместо использования плагина.
Мое единственное беспокойство по поводу использования плагина на данный момент заключается в том, что CakePHP 2.0 теперь выпущен как альфа-версия, и использование этого плагина может задержать / помешать вам в обновлении, если вы решите. Однако разработка этого плагина, похоже, ведется довольно активно, поэтому есть большая вероятность, что он будет обновлен для работы с 2.0 (если возникнут проблемы с самого начала).
Комментарии:
1. это мой первый проект cake. Вы можете указать мне, использовать Acl или нет