首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为dosuserbundle和hwiauthbundle (ERR_TOO_MANY_REDIRECTS)设置路由前缀

如何为dosuserbundle和hwiauthbundle (ERR_TOO_MANY_REDIRECTS)设置路由前缀
EN

Stack Overflow用户
提问于 2019-07-02 20:09:43
回答 1查看 47关注 0票数 0

我正在使用Symfony3.4构建的应用程序,使用的是fosuserbundle和HWIOAuthBundle,一切正常,但是当我尝试使用前缀进行路由时,我在尝试登录时遇到了ERR_TOO_MANY_REDIRECTS错误

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
 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本身,每件事情都很有魅力,但是当添加:

代码语言:javascript
运行
复制
        oauth:
        resource_owners:
            azure:           azure_login
        login_path:        fos_user_security_login

我要进入循环

EN

回答 1

Stack Overflow用户

发布于 2019-07-03 21:48:26

所以我找到了这个问题的解决方案,我的问题不仅在安全文件中,而且似乎是注释也导致了问题,但在将访问控制从以下位置更改后:

代码语言:javascript
运行
复制
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

至:

代码语言:javascript
运行
复制
- { path: ^/%app_name%/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

并且在注解中,这不应该写在类的上面,而应该写在控制器本身的上面,并且要注意末尾的/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56852157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档