Как перенаправить на страницу входа с помощью BjyAuthorize

Я хочу перенаправить некоторые страницы на страницу входа вместо страницы 403.

По умолчанию BjyAuthorize перенаправляет все на страницу 403. Можно ли настроить это поведение?

Я нашел это: RedirectionStrategy. Как мне это использовать?

3 ответа

Решение

Наконец то я понял.

В версии 1.2.* BjyAuthorize вы просто добавляете config/autoload/bjyauthorize.global.php:

return array(
    'bjyauthorize' => array(
        'unauthorized_strategy' => 'BjyAuthorize\View\RedirectionStrategy',
//      [...]
    ),
);

И он перенаправит вас на маршрут, настроенный в vendor/bjyoungblood/bjy-authorize/src/BjyAuthorize/View/RedirectionStrategy.php

Проверьте этот класс UnauthorizedStrategy от Роба Аллена: https://gist.github.com/akrabat/3783912 При использовании этого класса вы должны настроить BjyAuthorize для его использования, например:

return array(
    'bjyauthorize' => array(
        'unauthorized_strategy' => 'Application\View\UnauthorizedStrategy',
    ),
);

Редактировать: не забудьте добавить соответствующую конфигурацию диспетчера служб, чтобы позволить диспетчеру служб создавать экземпляр объекта UnauthorizedStrategy:

'service_manager' => array(
'invokables' => array(
            'Application\View\UnauthorizedStrategy' => 'Application\View\UnauthorizedStrategy',
        ),

Я тоже пытаюсь и наткнулся на эту страницу: https://github.com/bjyoungblood/BjyAuthorize/issues/24

Таким образом, вы можете расширить UnauthorizedStrategy.

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