Symfony 3 - autentykacja

0

Próbuję zrobić logowanie użytkowników zgodnie z opisem http://symfony.com/doc/current/cookbook/security/entity_provider.html

Niestety nijak mi to nie idzie.

Entity User.php mam zrobione jak w przykładzie. Tak samo baze danych. Próbowałem hasła trzymać jako bcrypt, md5 oraz plaintext i nic nie działa.

Plik security.yml

security:
    encoders:
        AppBundle\Entity\User: plaintext

    role_hierarchy:
        ROLE_ADMIN:       [ROLE_USER]

    providers:
        our_db_provider:
            entity: { class: AppBundle:User, property: username }

    firewalls:
        main:
            pattern:    ^/
            anonymous: ~
            provider: our_db_provider

            form_login:
                login_path: /
                check_path: /
            logout:
                 path:   /logout
                 target: /

    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }

W formularzu przekazuję zmienne jako _username oraz _password czyli zgodnie z dokumentacją.

Kontroler do obsługi:

public function indexAction(Request $request)
    {
        $session = $request->getSession();

        $authenticationUtils = $this->get('security.authentication_utils');

        $error = $authenticationUtils->getLastAuthenticationError();

        $lastUsername = $authenticationUtils->getLastUsername();

        if ($this->get('security.authorization_checker')->isGranted('ROLE_ADMIN')){
            return $this->redirect($this->generateUrl('admin_dashboard'));
        }

        return $this->render('default/index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..'),
            'body_id' => "simple-page",
            'last_username' => $lastUsername,
            'error'         => $error
        ]);
    }

Jak podam błędne dane do logowania to otrzymuję
exception 'Symfony\Component\Security\Core\Exception\BadCredentialsException' with message 'Bad credentials.'

Jak podam poprawne to nie przekierowuje mnie do admin_dashboard i nie zwraca żadnego błędu. W debugu dalej jestem jako anonymous

W bazie mam rolę ROLE_ADMIN i takie też mam w getRoles zwracane w entity User.

Co jest nie tak?

0

Zamień url check_path na /check_login i dodaj do routingu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1