Ошибка перенаправления разрешений в AuthComponent CakePHP

0

Я видел много подобных проблем здесь, в SO, но никто не помог мне решить мою проблему.

Я не думаю, что CakePHP AuthComponent ведет себя правильно, когда дело доходит до ошибок разрешений.

Приложение CakePHP находится в субдомене моего веб-сайта (например, http://www.example.com/myapp). Каждый раз, когда возникает ошибка разрешения (пользователю не разрешено видеть эту страницу), Cake добавляет еще один URL-адрес/myapp в URL-адрес (поэтому он становится http://www.example.com/myapp/myapp) и, естественно, генерирует ошибку, которая говорит, что контроллера "myapp" не существует.

В моем сценарии вид входа связан с корнем веб-сайта. Итак, у меня в AppController:

public $components = array(
    'Session',
    'Auth' => array(
        'loginAction' => array(
            'controller' => 'users',
            'action' => 'login'
        ),
        'logoutRedirect' => array(
            'controller' => 'users',
            'action' => 'login'
        ),
        'authorize' => 'Controller',
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email')
            )
        )
    )
);

И в routes.php:

Router::connect('/', array('controller' => 'users', 'action' => 'login'));
Router::connect('/users', array('controller' => 'users', 'action' => 'login'));

Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));

Все, что я хочу, это настроить вручную, какой URL-адрес Cake должен быть перенаправлен в случае ошибок разрешения. Кто-нибудь знает, как это сделать?

Теги:
cakephp
authorization

1 ответ

0
Лучший ответ

Мне жаль, ребята, я случайно нашел ответ чуть позже. Поскольку у CakePHP есть некоторые очень интуитивные ярлыки, я начал угадывать некоторые возможные варианты для компонента Auth, который бы разрешил мою проблему. И я закончил поиск опции unauthorizedRedirect !

Так что я:

'unauthorizedRedirect' => array(
    'controller' => 'users',
    'action' => 'login'
),

И теперь он работает отлично. Я просто хочу, чтобы документация на торт охватывала это... Если это так, я клянусь, что не могу найти его нигде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню