如何为 dosuserbundle 和 hwiauthbundle (ERR_TOO_MANY_REDIRECTS) 设置路由前缀
Posted
技术标签:
【中文标题】如何为 dosuserbundle 和 hwiauthbundle (ERR_TOO_MANY_REDIRECTS) 设置路由前缀【英文标题】:how to set routing prefix for dosuserbundle and hwiauthbundle (ERR_TOO_MANY_REDIRECTS) 【发布时间】:2019-11-13 02:00:09 【问题描述】:我正在使用 fosuserbundle 和 HWIOAuthBundle 使用 Symfony3.4 构建应用程序,一切正常,但是当我尝试使用路由前缀时,尝试登录时出现 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
我要进入循环
【问题讨论】:
【参考方案1】:所以我找到了解决这个问题的方法,我的问题不仅出在安全文件中,而且似乎是注释也导致了问题,但是在更改访问控制后:
- path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY
收件人:
- path: ^/%app_name%/login$, role: IS_AUTHENTICATED_ANONYMOUSLY
并且在这个注解中不应该写在类之上,而是在它自身之上的控制器之上,并且从末尾的/开始小心
【讨论】:
以上是关于如何为 dosuserbundle 和 hwiauthbundle (ERR_TOO_MANY_REDIRECTS) 设置路由前缀的主要内容,如果未能解决你的问题,请参考以下文章
如何为mesos和HAProxy进程编写prometheus警报规则。?
如何为 vuex 命名空间模块状态创建 getter 和 setter