Могу ли я отметить одну конечную точку URI как анонимную? - PullRequest
0 голосов
/ 21 сентября 2018

Я прочитал документы и последовал за подобным вопросом:

Разрешить анонимный доступ к определенному URL в защищенном пакете Symfony Firewall

Использование Symfony 4.1.4 У меня естьпопробовал следующее:

access_control:
  - { path: ^/rpi/service/application/quote/approve, roles: IS_AUTHENTICATED_ANONYMOUSLY}
  - { path: ^/rpi, roles: ROLE_USER }
  - { path: ^/erp, roles: ROLE_USER }

Однако, когда я получаю первый URI как анонимный, мне предлагается экран входа в систему http_basic_ldap.Есть идеи?

1 Ответ

0 голосов
/ 21 сентября 2018

Вам необходимо

anonymous: true

в брандмауэре, как в конфигурации по умолчанию config / packages / security.yml:

security:
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
        in_memory: { memory: ~ }
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true

Анонимная аутентификация означает, что пользователь является аутентифицирован и имеет токен, но это анонимный токен.

Если у вас нет anonymous: true, AnonymousAuthenticationListener никогда не будет работать для вашего брандмауэра и никогда не будет создавать анонимный токен.

...