簡體   English   中英

Symfony 4 - 登錄頁面總是重定向到自己

[英]Symfony 4 - login page always redirects to itself

我試圖限制對ROLE_USER的/ path的訪問,但當它重定向一次到登錄頁面時,它會繼續這樣做,我得到這個: ERR_TOO_MANY_REDIRECTS

這是我的security.yaml:

security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt


    providers:
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true
            guard:
                authenticators:
                    - App\Security\UserAuthenticator
            form_login: true
    access_control:
         - { path: ^/admin, roles: ROLE_ADMIN }
         - { path: ^/, roles: ROLE_USER }
        # - { path: ^/profile, roles: ROLE_USER }

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

這是我的SecurityController:

    /**
     * @Route("/login", name="app_login")
     */
    public function login(AuthenticationUtils $authenticationUtils): Response
    {
        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();
        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        return $this->render('security/login.html.twig', ['last_username' => $lastUsername, 'error' => $error]);
    }

我不得不將此添加到security.yml:

- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM