check_login problema en Fosuserbundle

78 views
Skip to first unread message

Ana H. Pérez

unread,
Aug 16, 2016, 7:40:39 AM8/16/16
to symfo...@googlegroups.com
Hola,
Estoy usando FosUserBundle en symfony 3.

He seguido esta configuración http://symfony.com/doc/current/bundles/FOSUserBundle/index.html
después he customizado los templates y he puesto el login en la ruta del index.

Al hacer login en la aplicación me da este error cuando pasa a la ruta check_login:

You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.


El archivo security lo tengo así:


# To get started with security, check out the documentation:
# http://symfony.com/doc/current/book/security.html
security:

    # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
    providers:
        in_memory:
            memory: ~

    firewalls:
        # disables authentication for assets and the profiler, adapt it according to your needs
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            anonymous: ~
            # activate different ways to authenticate

            # http_basic: ~
            # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate

            # form_login: ~
            # http://symfony.com/doc/current/cookbook/security/form_login_setup.html

#fosuserbundle

    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager
                # if you are using Symfony < 2.8, use the following config instead:
                # csrf_provider: form.csrf_provider

            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }


Sebastian Thomson

unread,
Aug 16, 2016, 9:32:58 AM8/16/16
to symfo...@googlegroups.com
Prueba agregando las opciones de always_use_default_target_path y default_target_path a tu form_login:

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                always_use_default_target_path: true
                default_target_path:            /app
            logout:       true
            anonymous:    true

​En el default_target_path pon la ruta a la que quieres que el login apunte.​


--

Ana H. Pérez

unread,
Aug 16, 2016, 9:46:36 AM8/16/16
to symfo...@googlegroups.com
Me sigue dando el mismo error, he probado a hacer login desde la ruta /login que viene por defecto y también me da el error, así que el haberlo pasado al index, no parece que sea el problema...

--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+unsubscribe@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Manuel Aguirre

unread,
Aug 16, 2016, 10:08:48 AM8/16/16
to symfo...@googlegroups.com
Buenas, la sección de seguridad form_login requiere que indiques la ruta para el login_path y el check_path, si revisas la doc oficial allí el primer ejemplo de código yml lo unico que indican dentro de form_login es precisamente esas dos opciones, y es justo lo que no has colocado en tu configuración.

Saludos!
--

Manuel Aguirre.


manuel_j555 | Desarrollador de Software | Optime Consulting | twitter | github | Sitio web


A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales.

Ana H. Pérez

unread,
Aug 16, 2016, 10:11:23 AM8/16/16
to symfo...@googlegroups.com
Arreglado, gracias
Reply all
Reply to author
Forward
0 new messages