РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
573 of 1361 menu

Метод getFirewallConfig

Метод getFirewallConfig класса Security возвращает объект FirewallConfig, который содержит настройки активного брандмауэра (firewall) для текущего запроса. Первым параметром передаётся объект Request, для которого нужно получить конфигурацию. Если для запроса не найден подходящий брандмауэр, метод возвращает null. Метод удобен, когда нужно узнать имя активного брандмауэра, список провайдеров пользователей, включён ли вход по форме или другие параметры безопасности.

Синтаксис

public function getFirewallConfig(Request $request): ?FirewallConfig

Пример

Давайте получим конфигурацию брандмауэра для текущего запроса и выведем имя активного брандмауэра:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentSecurityCoreSecurity; use SymfonyComponentRoutingAttributeRoute; class SecurityController extends AbstractController { #[Route('/security/firewall', name: 'security_firewall')] public function firewall(Request $request, Security $security): Response { $config = $security->getFirewallConfig($request); if ($config === null) { return new Response('no firewall'); } return new Response($config->getName()); } } ?>

Результат выполнения кода для адреса /security/firewall:

"main"

Пример

Давайте проверим, включён ли для активного брандмауэра вход по форме, и выведем список провайдеров пользователей:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentSecurityCoreSecurity; use SymfonyComponentRoutingAttributeRoute; class SecurityController extends AbstractController { #[Route('/security/form-login', name: 'security_form_login')] public function formLogin(Request $request, Security $security): Response { $config = $security->getFirewallConfig($request); if ($config === null) { return new Response('no firewall'); } $enabled = $config->isFormLoginEnabled() ? 'yes' : 'no'; $providers = $config->getProvider(); return new Response($enabled . ' ' . $providers); } } ?>

Результат выполнения кода для адреса /security/form-login:

"yes users"

Смотрите также

  • класс Security,
    который предоставляет доступ к сервисам безопасности
  • метод getUser,
    который возвращает текущего пользователя
  • метод getToken,
    который возвращает токен текущего пользователя
  • метод isGranted,
    который проверяет наличие прав у пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить