我最近刚开始使用Symfony 4,并且在安全捆绑包security.yaml文件中的身份验证遇到了一些问题。
security.yaml文件为我要控制的给定API路由设置了一个防火墙:
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
anonymous: true
access_control:
- { path: ^/portal, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_ADMIN }
我想从根级别限制所有路由,但在这种情况下/ portal路由应该对所有人都可用。我该怎么做。
当前,这给了我InsufficientAuthenticationException
完整的authentication is required to access this resource.
异常。我有什么想念的吗?
答案 0 :(得分:0)
您必须定义登录表单的路径。使用此路径,您将重定向到登录名。没有路径,立即引发异常。
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
provider: in_memory
anonymous: ~
form_login:
login_path: login
check_path: login
更多信息可以在Symfony文档中找到: https://symfony.com/doc/current/security/form_login_setup.html