Symfony 带有FOSOAuthServer/FOSRest&;的restfuloauth;福苏瑟

Symfony 带有FOSOAuthServer/FOSRest&;的restfuloauth;福苏瑟,symfony,fosuserbundle,fosrestbundle,fosoauthserverbundle,Symfony,Fosuserbundle,Fosrestbundle,Fosoauthserverbundle,我很难完全理解客户创建的概念。 我按照帖子设置了OAuthBundle,并尝试进行必要的更改以符合FOSUser。虽然我不确定它是否完美 我的处境 我的网站是一个RESTFul API,只返回json或xml。我的前端将是AngularJS 我结合了FOSUser、FOSRest和FOSOAuth,可能是配置中有错误 问题 我完成了文章第一部分的设置,设置到条令:schema:update命令。现在我要创建一个客户机 如何为不同角色的^/api部分设置安全性 示例: 匿名用户可以访问POS

我很难完全理解客户创建的概念。 我按照帖子设置了OAuthBundle,并尝试进行必要的更改以符合FOSUser。虽然我不确定它是否完美

我的处境

  • 我的网站是一个RESTFul API,只返回json或xml。我的前端将是AngularJS
  • 我结合了FOSUser、FOSRest和FOSOAuth,可能是配置中有错误
问题

我完成了文章第一部分的设置,设置到
条令:schema:update
命令。现在我要创建一个客户机

如何为不同角色的
^/api
部分设置安全性

示例:

  • 匿名用户可以访问POST
    /api/users
    ,但不能访问GET/api/users
  • 只有具有
    角色的用户才能访问DELETE
    /api/users/{id}
对于我正在使用的测试(支持OAuth1&2以及其他身份验证手段)。

使用security.yml中的表达式 为了通过(请求)-方法(用户)-角色的条件组合来保护某些路由

。。。您可以在
security.yml
中使用

更多信息可在文档一章中找到

例子 只有具有角色
role\u ADMIN
的用户才能使用
删除请求访问
/api/users/{id}

# app/config/security.yml
security:
    # ...
    access_control:
        - path: "^/api/users/\d+$"
          allow_if: "'DELETE' == request.getMethod() and has_role('ROLE_ADMIN')"
正则表达式解释

  • ^
    以开头
  • \d+
    一个或多个数字(=用户id)
  • $
    字符串结束

谢谢!关于编辑,您删除了我最感兴趣的问题=(我将在另一个主题上提问,我可以通过PM向您发送链接吗?