Как перенаправить на страницу входа с помощью 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.