Symfony登录自行重定向

854

当我尝试登录时,页面会自行重定向。这是我得到的Firefox错误:

页面未正确重定向

Firefox已检测到服务器正在以永远无法完成的方式重定向对该地址的请求。

任何想法可能是什么原因造成的?

SECURITY.YML:

security:
    encoders:
        FixedApp\Model\User:
          algorithm:        sha1
          encode_as_base64: false
          iterations:       1

    role_hierarchy:
        ROLE_ADMIN:         [ROLE_USER, ROLE_LIMITED_ADMIN]
        ROLE_SUPER_ADMIN:   [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        administrators:
            entity: { class: FixedApp\Model\User, property: username }

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern:  ^/$
            security: false

        secured_area:
            pattern: ^/
            form_login:
                check_path: fixed_app_authentication_login
                login_path: fixed_app_authentication_homepage
                username_parameter: username
                password_parameter: password
                default_target_path: fixed_app_authentication_homepage
                always_use_default_target_path: true
                success_handler: security.authentication.success_handler
            logout:
                path: fixed_app_authentication_logout
                target: fixed_app_homepage

    # To give access to the ROLE_LIMITED_ADMIN, use - role: [ROLE_USER, ROLE_LIMITED_ADMIN]
    access_control:
    - { path: ^/log-in$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: /home, roles: ROLE_USER }

ROUTING.YML:

fixed_app_homepage:
  pattern:  /
  defaults: { _controller: FixedAppAuthenticationBundle:Default:index }

fixed_app_authentication_homepage:
  pattern:  /home
  defaults: { _controller: FixedAppAuthenticationBundle:Default:loggedIn }

fixed_app_authentication_logout:
  path: /log-out

# Verify the log in
fixed_app_authentication_login:
  pattern: /log-in

AUTHENTICATIONSUCCESSHANDLER.PHP不过,如果我注释掉返回行也没有什么区别。

function onAuthenticationSuccess(Request $request, TokenInterface $token)
{
    return new RedirectResponse($this->router->generate('fixed_app_authentication_homepage'));
}
理查德
form_login:
    login_path: fixed_app_authentication_homepage

不是登录后重定向到的位置,而是实际上您从其登录的位置,它必须允许匿名用户身份验证失败后重定向到该位置。因此,如果看到身份验证失败,您将获得无尽的重定向行为。

您需要允许它为IS_AUTHENTICATED_ANONYMOUSLY

例如

- { path: /home, roles: IS_AUTHENTICATED_ANONYMOUSLY }

如果这不是您想要的,则需要为login_path制作一个单独的页面,然后在成功时重定向到安全的/ home页面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章