我创建了一些API。 API网址在防火墙下,只有经过身份验证的用户才能使用它们。
请求:PATCH / api / test 响应:找不到“PATCH / login”的路由:方法不允许(允许:GET,POST)
为什么要使用PATCH方法重定向?
我使用FOSRestBundle,我需要json响应和拒绝访问的消息。
security.yml:
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/cities, role: ROLE_USER }
- { path: ^/api/courses, role: ROLE_USER, allow_if: "request.getMethod() == 'GET'" }