我正在使用 symfony2 开发 API,并且已经实现了 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 模式:
安全.yml
firewalls:
wsse_secured:
pattern: ^/api/[^doc | ^v1\/public/].*
这似乎不起作用,您能帮我从身份验证中跳过这些 URL 吗?我错过了正确的正则表达式吗?
编辑
这是我的 security.yml 的访问控制部分
access_control:
- {path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY}