как установить префикс маршрутизации для dosuserbundle и hwiauthbundle (ERR_TOO_MANY_REDIRECTS) - PullRequest
0 голосов
/ 02 июля 2019

Я работаю со сборкой приложения с 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

Я иду в петлю

1 Ответ

0 голосов
/ 03 июля 2019

Итак, я нашел решение этой проблемы, моя проблема была не только в файле безопасности, но, похоже, что аннотация вызывала проблему также, но после изменения контроля доступа с:

- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

Кому:

- { path: ^/%app_name%/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

и в аннотации это должно быть написано не над классом, а над самим контроллером и быть осторожным с / в конце

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...