CakePHP - Маршрутизация против Acl / Auth - PullRequest
0 голосов
/ 30 июня 2011

В CakePHP, когда вы используете Acl / Auth, вам нужно включить Routing.prefixes для управления доступом администратора? Или вы должны просто положиться на Acl / Auth и избавиться от всех действий admin_xxx.

Я изучаю CakePHP и путаюсь с аутентификацией. Итак, я начал с включения Routing.prefixes. В процессе разработки моего приложения я постепенно начал переходить на Acl / Auth. У меня будет несколько групп пользователей, таких как администраторы, участники, спонсоры и пользователи. Я читал ранее, что Routing.prefixes применяется только тогда, когда у вас есть только 1 администратор.

В качестве примера у меня есть следующее:

<?php
class ArticlesController extends AppController{
    // Helpers and Components will be included here....
    $this->Auth->allow('*')
    function admin_add(){
        $this->layout = 'admin'
        //...
    }
}

Если мне удастся избавиться от маршрутизации администратора, я должен сделать следующее?

<?php
class ArticlesController extends AppController{
    // Helpers and Components will be included here....
    $this->Auth->allow('*')
    // Control access to add() using ACL to only allow admin/contributors to use this action
    function add(){
        $this->layout = 'admin'
        //...
    }
}

Это правильный подход?

1 Ответ

2 голосов
/ 01 июля 2011

В основном, routing.prefixes - отличный способ создания админ-зоны, если у вас прямая линия между «обычными» пользователями и администраторами и вам не нужно ограничивать права некоторых администраторов или сделать одного пользователя более привилегированным другой.
Но если у вас будут совершенно разные права, группы и вещи, которые вам нужно разрешить и запретить между разными группами и / или пользователями, ACL - правильный подход.
Вам больше не нужны Routing.prexfixes, если вы используете ACL и ваш подход будет полностью правильным.

...