Rah*_*hul 2 php regex symfony wsse
我正在使用 symfony2 开发 API,并且已经实现了 WSSE 身份验证。我需要跳过某些 URL 的身份验证,因为它们可以公开访问。公开访问的 URL 的格式如下:
www.myserver.com/api/v1/public/testaction1
www.myserver.com/api/v1/public/testaction2
Run Code Online (Sandbox Code Playgroud)
还有一个可公开访问的 URL,它是 API 的文档:
www.myserver.com/api/doc/
Run Code Online (Sandbox Code Playgroud)
除了上述 URL 之外,所有其他操作都应在身份验证方案下进行,我尝试在防火墙配置选项下调整 URL 模式,如下所示:
安全.yml
firewalls:
wsse_secured:
pattern: ^/api/[^doc | ^v1\/public/].*
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,您能帮我从身份验证中跳过这些 URL 吗?我是否缺少正确的正则表达式?
编辑
这是我的 security.yml 的访问控制部分
access_control:
- {path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY}
Run Code Online (Sandbox Code Playgroud)
您需要添加特定的防火墙以进行匿名访问:
firewalls:
api:
pattern: ^/api
doc:
pattern: ^/api/doc
security: false
public:
pattern: ^/api/public
security: false
Run Code Online (Sandbox Code Playgroud)
另一种选择是允许匿名用户访问这两个防火墙,但我不知道它是否适用于远程卷曲调用,例如
归档时间: |
|
查看次数: |
1957 次 |
最近记录: |