Как защитить паролем статическую страницу в CakePHP? - PullRequest
1 голос
/ 18 сентября 2009

У меня довольно простое приложение CakePHP, которое использует компонент Auth для ограничения доступа к функциям администратора. Это все работает хорошо и хорошо, но я использую контроллер страниц для отображения домашней страницы и главной страницы администратора.

Как настроить аутентификацию для управления доступом к таким страницам, как «/» для дома и «/ admin»?

Ответы [ 3 ]

4 голосов
/ 18 сентября 2009

Скопируйте PagesController из каталога /cake/libs/controller/ в обычный каталог /app/controller/ и измените его при необходимости.

0 голосов
/ 12 октября 2011

это сработало для меня:

в вашем контроллере приложения:

function beforeFilter(){
    if(@$this->params['pass'][0] == 'profile') //allow \app\views\pages\profile.ctp
        $this->Auth->allow('display');

}

Вам также не нужно просто использовать переменную $this->params['pass']. внутри переменной $this содержится много информации, которую можно использовать для выбора целевой страницы. Вы также можете использовать URL-адрес, который обычно имеет вид: / pages / page-name

0 голосов
/ 06 февраля 2010

Я не верю, что вы можете использовать компонент Auth для эффективной защиты статических страниц, потому что контроллер страниц использует одно действие, display (), для рендеринга всех статических страниц. Поскольку обычно вы делаете что-то вроде Auth-> allow ('display'), чтобы разрешить доступ к вашим статическим страницам, таким как '/', не существует эффективного способа указать, разрешать или запрещать отдельные статические страницы.

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