我有一个像这样的security.yaml:
api_documentary:
pattern: ^/api/v1/documentary
fos_oauth: true
stateless: false
methods: [POST, PUT, DELETE]
- { path: ^/api/v1/documentary, roles: IS_AUTHENTICATED_ANONYMOUSLY }
我希望防火墙在以下路由^/api/v1/documentary POST, PUT, DELETE
上处于打开状态(通过访问令牌访问)
我希望防火墙在GET
和GET ALL
路由上关闭
如果我从上面的methods: []
中排除GET,则可以公开访问它们,但是会发生一些奇怪的事情:
isGranted无效,即使用户具有以下角色[ROLE_USER,ROLE_ADMIN],它似乎也没有注意到。
if (!$this->isGranted('ROLE_ADMIN')) {
return new JsonResponse("Not granted");
}
如果我添加到api_documentary:
methods: [GET, POST, PUT, DELETE]
isGranted
有效,但是GET
方法将不再公开。