CakePHP 1.2: Как заблокировать данный контроллер от доступа никому, кроме администраторов?

Я не ищу всю реализацию ACO-ARO ... Я просто хочу использовать Auth и проверять роль пользователя ....

Что мне поставить, чтобы просто запретить пользователям доступ к данному контроллеру, если у них нет определенной роли.

Я пытаюсь использовать $ this-> Auth-> authorize = 'controller'; ... но я даже не знаю, куда это поставить ??

Любая помощь была бы потрясающей!

Заранее спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
788
1

Ответы 1

Короткий ответr: Похоже, вам нужно создать app_controller.php и поместить свой код в метод beforeFilter.

Более длинный ответ: Создайте файл app_controller.php в каталоге вашего приложения и поместите следующий код в beforeFilter().

if (isset($this->params[Configure::read('Routing.admin')])) { //User is trying to access a page using the admin route
    if ($this->Session->check('someSessionVariable')) { //Check user has some session variable set.                 
        // User is accessing an admin page and has permission, do something, or in most cases do nothing.
     } else { //No sessions set for user, redirect to login page.           
        $this->redirect('/yourLoginPage'); //Redirect
    }
}

Это не замена для надлежащего пользователя компонента Auth, но должно делать то, что вам нужно. Убедитесь, что вы проверили его безопасность, прежде чем запускать его в производство.

Другие вопросы по теме