Вопрос прост. Я имплектирую AccessDiedListener , и я получаю объект ExceptionEvent . Из этого я могу получить запрос. Я хочу применить определенную логику только в том случае, если я нахожусь в одном из моих брандмауэров, определенных в Security.yaml.
Как я могу получить имя брандмауэра из ExceptionEvent или запрос экземпляры?$firewall_context_name = $event->getRequest()->attributes->get('_firewall_context');
< /code>
Однако я не очень доволен этим. Должен быть Firewallcontext или Firewallconfig объекты, которые каким-то образом можно найти, нет?class AccessDeniedListener implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
// the priority must be greater than the Security HTTP
// ExceptionListener, to make sure it's called before
// the default exception listener
KernelEvents::EXCEPTION => ['onKernelException', 2],
];
}
public function onKernelException(ExceptionEvent $event): void
{
$exception = $event->getThrowable();
if (!$exception instanceof AccessDeniedException) {
return;
}
$request = $event->getRequest();
// HOW TO GET FIREWALL NAME HERE???
< /code>
security.yaml
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api:
pattern: ^/api/
security: false
main:
custom_authenticators:
- App\Security\LoginFormAuthenticator
logout:
path: app_logout
lazy: true
provider: app_user_provider
Подробнее здесь: https://stackoverflow.com/questions/677 ... -symfony-5
Как получить имя брандмауэра из запроса в Symfony 5? ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1753404127
Anonymous
Вопрос прост. Я имплектирую AccessDiedListener , и я получаю объект ExceptionEvent . Из этого я могу получить запрос. Я хочу применить определенную логику только в том случае, если я нахожусь в одном из моих брандмауэров, определенных в Security.yaml.
Как я могу получить имя брандмауэра из ExceptionEvent или запрос экземпляры?$firewall_context_name = $event->getRequest()->attributes->get('_firewall_context');
< /code>
Однако я не очень доволен этим. Должен быть Firewallcontext или Firewallconfig объекты, которые каким-то образом можно найти, нет?class AccessDeniedListener implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
// the priority must be greater than the Security HTTP
// ExceptionListener, to make sure it's called before
// the default exception listener
KernelEvents::EXCEPTION => ['onKernelException', 2],
];
}
public function onKernelException(ExceptionEvent $event): void
{
$exception = $event->getThrowable();
if (!$exception instanceof AccessDeniedException) {
return;
}
$request = $event->getRequest();
// HOW TO GET FIREWALL NAME HERE???
< /code>
security.yaml
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api:
pattern: ^/api/
security: false
main:
custom_authenticators:
- App\Security\LoginFormAuthenticator
logout:
path: app_logout
lazy: true
provider: app_user_provider
Подробнее здесь: [url]https://stackoverflow.com/questions/67794325/how-to-get-firewall-name-from-request-in-symfony-5[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия