Исключить путь из безопасности брандмауэра в symfony4 - PullRequest
0 голосов
/ 09 октября 2018

Я недавно только начал с Symfony 4 и у меня возникли некоторые проблемы с аутентификацией в пакете безопасности, файле security.yaml.

В файле security.yaml есть один брандмауэр для заданных маршрутов API, которыми я хочу управлять:

security:
    providers:
        in_memory:
            memory: ~

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern: ^/
            anonymous: true

    access_control:
        - { path: ^/portal, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, roles: ROLE_ADMIN }

Я хотел бы ограничить все маршруты от корневого уровня, за исключением в этом случае маршрута / portal, который должен быть доступен для всех.Как я могу это сделать.

В настоящее время это дает мне исключение InsufficientAuthenticationException Full authentication is required to access this resource..Что-то мне не хватает?

1 Ответ

0 голосов
/ 12 октября 2018

Вы должны определить путь для формы входа.С этим путем вы будете перенаправлены для входа в систему.Без пути исключение генерируется немедленно.

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        pattern: ^/
        provider: in_memory
        anonymous: ~
        form_login:
            login_path: login
            check_path: login

Дополнительную информацию можно найти в документации Symfony: https://symfony.com/doc/current/security/form_login_setup.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...