Как защитить все действия администратора на всех контроллерах в cakePHP - PullRequest
2 голосов
/ 17 мая 2010

Я занимаюсь разработкой приложения с использованием cakePHP v 1.3 для Windows (XAMPP).

Большинство контроллеров запекаются с включенной административной маршрутизацией. Я хочу обезопасить действия администратора каждого контроллера с помощью страницы входа. Как я могу сделать это, не повторяя много?

Одним из решений проблемы является то, что «я проверяю информацию для входа в действие admin_index каждого контроллера», а затем отображаю соответствующий экран входа в систему.
Есть ли лучший способ сделать это?

Неправильный URL-адрес администратора (http://localhost/app/admin) указывает на действие index_admin контроллера пользователя (создал новый маршрут для этого в файле rout.php)

1 Ответ

6 голосов
/ 17 мая 2010

Использовать компонент аутентификации . Вы можете настроить его только для административных маршрутов примерно так:

// AppController::beforeFilter
function beforeFilter() {
    if (isset($this->params['prefix']) && $this->params['prefix'] == 'admin') {
        $this->Auth->deny('*');
        ...
    }
}

Проверка только в действиях index бессмысленна, это просто мрак, а не безопасность. AuthComponent будет проверять разрешения для каждой загрузки страницы.

...