Есть ли CakePHP isAuthorized () для простого allow () / deny ()? - PullRequest
0 голосов
/ 15 октября 2011

У меня есть приложение, в котором я использую allow () / deny () для большей части контроля доступа, и я хотел бы иметь возможность проверить beforeFilter (), авторизован пользователь или нет. Если бы я использовал контроллер или один из других методов аутентификации, я мог бы использовать isAuthorized (), но это не работает для allow / deny - я хочу, чтобы он возвращал true, если пользователь не вошел в систему, но он включен общедоступная страница.

Чтобы сделать шаг назад и разрешить другие решения: мое приложение настроено с использованием поддоменов (user.example.com), и если они не используют поддомен, я хочу вернуть 404 для не доменных имен. веб-страниц и разрешают им доступ к ним только через субдомен пользователя.

Есть ли лучший способ сделать это - возможно, добавив авторизацию контроллера? Я все еще столкнулся бы с вопросом необходимости знать, уполномочены они или нет. Есть ли способ изменить действия компонента Auth при сбое авторизации? Я хочу, чтобы он возвращал 404, но только при определенных условиях (в частности, пользователь не получает доступ к сайту через поддомен).

Ответы [ 2 ]

4 голосов
/ 15 октября 2011

allow () и deny () относятся только к возможности доступа к URL без входа в систему. Обратный вызов isAuthorized в контроллере лучше подходит для разрешений пользователей, которые уже прошли через форму входа в систему.

Пожалуйста, проверьте этот урок для уточнения: http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

1 голос
/ 15 октября 2011

Вы можете использовать Blackhole для возврата 404 ошибок.Остальная часть вопроса мне не совсем понятна.Вы используете Auth, но пользовательский ACL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...