Как ограничить доступ пользователя только к информации о себе - PullRequest
1 голос
/ 31 мая 2011

Я следую примеру Acl в руководстве по торту.В случае успеха у меня есть еще вопрос для применения Acl в мой проект

 function initDB() {
    $group = & $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. при входе в систему под учетной записью я не могу выйти из системы

спасибо

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

вам нужен acl на основе строки, а не тот, который вы указали на основе действия http://jmcneese.wordpress.com/2009/04/07/update-row-level-model-access-control-for-cakephp/

0 голосов
/ 31 мая 2011

Компонент CakePHP ACL может немного разочаровывать.По сравнению с компонентом ACL в Zend Framework, его, похоже, не хватает.

Я никогда не пробовал плагин, на который ссылается dogmatic69.В своем приложении я решил использовать ACL для того, в чем ACL хорош, и найти другие способы проверки разрешений в ситуациях, когда мне нужно ограничить доступ к строкам и другим вещам, вместо использования плагина.

Мой единственныйНа данный момент проблема в использовании плагина заключается в том, что CakePHP 2.0 теперь выпускается как Alpha, и использование этого плагина может задержать / помешать вам в обновлении, если вы решите.Однако разработка этого плагина действительно довольно активна, поэтому есть большая вероятность, что он будет обновлен до версии 2.0 (если возникнут проблемы с самого начала).

...