我正在尝试使用Symfony开发一个API,该API可通过前端应用程序使用。 我安装了FOSUserBundle来管理登录和用户注册,我还安装了FOSOAuthServerBundle来保护带有令牌的API 我设法使所有带有前缀“ / api”的路由只能通过有效令牌访问 另一方面,只有在用户登录后,我才能使某些道路无法通行
我的security.yml
imports:
- { resource: "@FOSOAuthServerBundle/Resources/config/security.xml" }
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api:
pattern: ^/api
fos_oauth: true
stateless: true
anonymous: false
oauth_authorize:
pattern: ^/oauth/v2/auth
form_login:
login_path: oauth_server_auth_login
check_path: oauth_server_auth_login_check
provider: fos_userbundle
anonymous: true
oauth_token:
pattern: ^/oauth/v2/token
security: false
main:
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout: true
anonymous: true
access_control:
- { path: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
你能告诉我该怎么做吗?
谢谢:)