我正在使用Symfony3.4构建的应用程序,使用的是fosuserbundle和HWIOAuthBundle,一切正常,但是当我尝试使用前缀进行路由时,我在尝试登录时遇到了ERR_TOO_MANY_REDIRECTS错误
Security.yml:
firewalls:
main:
pattern: ^/
provider: chain_provider
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
check_path: fos_user_security_check
login_path: fos_user_security_login
failure_path: fos_user_security_login
oauth:
resource_owners:
azure: azure_login
login_path: fos_user_security_login
failure_path: fos_user_security_login
use_forward: false
oauth_user_provider:
service: custom.user_provider
logout:
path: fos_user_security_logout
target: fos_user_security_login
anonymous: true
switch_user: true
logout_on_user_change: true
access_control:
- { path: ^/api/tokens, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/connect/azure, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/configuration/, role: [ROLE_SUPER_ADMIN] }
- { path: ^/admin/, role: [ROLE_ADMIN] }
- { path: ^/, role: IS_AUTHENTICATED_FULLY }
- { path: ^/%app_name%, role: IS_AUTHENTICATED_FULLY }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
Routing.yml:
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
prefix: /%app_name%
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /%app_name%/resetting
methods: [GET,POST]
有人能告诉我我在这里遗漏了什么吗?因为使用fosuserbundle本身,每件事情都很有魅力,但是当添加:
oauth:
resource_owners:
azure: azure_login
login_path: fos_user_security_login
我要进入循环
发布于 2019-07-03 21:48:26
所以我找到了这个问题的解决方案,我的问题不仅在安全文件中,而且似乎是注释也导致了问题,但在将访问控制从以下位置更改后:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
至:
- { path: ^/%app_name%/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
并且在注解中,这不应该写在类的上面,而应该写在控制器本身的上面,并且要注意末尾的/
https://stackoverflow.com/questions/56852157
复制相似问题