symfony2 пропустить URL из аутентификации

Я занимаюсь разработкой API с помощью symfony2 и внедрил аутентификацию WSSE. Мне нужно пропустить проверку подлинности для некоторых URL-адресов, поскольку они будут общедоступными. Общедоступные URL-адреса имеют следующий формат:

www.myserver.com/api/v1/public/testaction1
www.myserver.com/api/v1/public/testaction2

Существует еще один общедоступный URL-адрес, представляющий собой документацию по API:

www.myserver.com/api/doc/

За исключением вышеупомянутых URL-адресов, все остальные действия должны соответствовать схеме аутентификации,
Я попытался настроить шаблон URL под параметром конфигурации брандмауэра как:

security.yml

 firewalls:
wsse_secured:
pattern:   ^/api/[^doc | ^v1\/public/].*

что, кажется, не работает, не могли бы вы помочь мне пропустить эти URL из аутентификации? Я пропустил правильное регулярное выражение?

РЕДАКТИРОВАТЬ

Вот раздел контроля доступа моего security.yml

access_control:
- {path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY}

1

Решение

Вам нужно будет добавить определенный брандмауэр для анонимного доступа:

firewalls:
api:
pattern: ^/api
doc:
pattern: ^/api/doc
security: false
public:
pattern: ^/api/public
security: false

Другой вариант — разрешить анонимным пользователям доступ к этим 2 межсетевым экранам, однако я не знаю, будет ли он работать с удаленными вызовами curl, например, для.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]