Vse o WEB
Информация и размышления о Web технологиях

Что нового Symfony 4.4: Lazy Firewalls

В компоненте Symfony Security брандмауэры определяют, как ваши пользователи смогут проходить аутентификацию (например, используя форму входа в систему, API токен и т. д.). Брандмауэры также определяют, какие URL-адреса они охватывают, и разрешено ли анонимным пользователям просматривать эти URL-адреса или нет:

# config/packages/security.yaml
security:
    # ...
    firewalls:
        main:
            pattern: ^/
            anonymous: ~
            # ...

 

Когда настроен межсетевой экран с отслеживанием состояния, токен пользователя всегда создается из сеанса для каждого запроса, независимо от того, используется ли пользователь в действительности приложением или нет. Это означает, что все эти ответы не кэшируются (потому что они используют сеанс).

В Symfony 4.4 брандмауэры могут определять lazy как значение своего параметра конфигурации anonymous :

# config/packages/security.yaml
security:
    # ...
    firewalls:
        main:
            pattern: ^/
            anonymous: lazy
            # ...

 

Это говорит Symfony загружать пользователя (и запускать сеанс) только в том случае, если приложение действительно обращается к объекту пользователя (например, с помощью вызова is_granted() в шаблоне или вызова isGranted() в контроллере или сервисе). Это означает, что все те URL-адреса / действия, которые не нужны пользователю, теперь будут общедоступными и кешируемыми, что повышает производительность вашего приложения.

 

Оригинал статьи: https://symfony.com/blog/new-in-symfony-4-4-lazy-firewalls

Наверх