Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Symfony 2.7 logout fallo

Estas en el tema de Symfony 2.7 logout fallo en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas estaba configurando la seguridad para un aplicación web, y restringí el area de ^/administracion para que al entrar me tuviese que loguear y funciona ...
  #1 (permalink)  
Antiguo 24/07/2015, 06:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Busqueda Symfony 2.7 logout fallo

Buenas estaba configurando la seguridad para un aplicación web,
y restringí el area de ^/administracion para que al entrar me tuviese que loguear
y funciona me logueo y ya puedo entrar.

mi fichero security
Código:
security:

    providers:
        user:
            entity: { class: Zanori\ZanoriBundle\Entity\Usuario, property: nick }

    firewalls:
    # the main part of the security, where you can set up firewalls
    # for specific sections of your app
    firewalls:
        secured_area:
            pattern:    ^/administracion
            form_login:
                login_path:  login
                check_path:  login_check
            logout:
                path:   /logout
                target: /
    encoders:
        Zanori\ZanoriBundle\Entity\Usuario:
            algorithm: bcrypt
            cost: 12
mi fichero app/config/routing
Código:
login:
    pattern:   /login
    defaults:  { _controller: ZanoriZanoriBundle:Seguridad:login }
login_check:
    pattern:   /administracion/login_check
logout:
    path:   /logout

Pero cuando intento implementar el logout por algun motivo me da fallo.



Me haríais un gran favor si alguien supiera el por que de ese error
Muchas gracias de antemano
Un saludo
  #2 (permalink)  
Antiguo 24/07/2015, 07:24
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Symfony 2.7 logout fallo

Mete el logout dentro de la ruta de administracion
Código yml:
Ver original
  1. logout:
  2.     path:   /administracion/logout
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 26/07/2015, 18:05
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Symfony 2.7 logout fallo

Buenas he cambiado la ruta en el routing.yml

Código:
logout:
    path:   /administracion/logout
pero me sale el mismo error

Unable to find the controller for path "/administracion/logout". The route is wrongly configured.

No entiendo como me puede dar este error :(
  #4 (permalink)  
Antiguo 27/07/2015, 09:07
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Symfony 2.7 logout fallo

Te sigue dando el error por que solo estas cambiando la ruta y no estas haciendo lo mismo en el security.yml. en el routing.yml debes de tener algo como esto:
Código yml:
Ver original
  1. logout_area:
  2.     path: /admin/logout
  3.  
  4. login_check:
  5.     path: /admin/login_check
Y en el security
Código yml:
Ver original
  1. secured_area:
  2.             pattern: ^/admin
  3.             provider: users
  4.             security: true
  5.             form_login:
  6.                 check_path: /admin/login_check
  7.                 login_path: /admin/login
  8.                 always_use_default_target_path: true
  9.                 default_target_path: /admin
  10.             anonymous: ~
  11.             logout:
  12.                 path: /admin/logout
  13.                 target: /admin/login
Si te fijas todas las rutas y referencias a ellas estan bajo la ruta que quieres proteger. Recuerda darle el formato con espacio en lugar de usar tab.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 07/08/2015, 10:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Symfony 2.7 logout fallo

Al final lo solucione asi
Código:
security:

    providers:
        user:
            entity: { class: Zanori\ZanoriBundle\Entity\Usuario, property: nick }

    firewalls:
    # the main part of the security, where you can set up firewalls
    # for specific sections of your app
    #solucion a problema del logout encontrada aqui
    #http://stackoverflow.com/questions/12088804/symfony2-logout-controller-not-found
    firewalls:
        main:
            pattern: ^/
            form_login:
                login_path:  login
                check_path:  login_check
            logout:       true
            anonymous:    true
        secured_area:
            pattern:    ^/administracion
            form_login:
                login_path:  login
                check_path:  login_check
            logout:
                path:   /logout
                invalidate_session: true
    

    access_control:
         - { path: ^/administracion, roles: ROLE_CHEF }
         - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    encoders:
        Zanori\ZanoriBundle\Entity\Usuario:
            algorithm: bcrypt
            cost: 12
Lo pongo por si puede ayudar a alguien
Muchas gracias gente por contestar.
  #6 (permalink)  
Antiguo 10/11/2015, 15:53
 
Fecha de Ingreso: julio-2015
Mensajes: 1
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Symfony 2.7 logout fallo

Hola!! Podrias poner las otras clases que usaste para hacer el login. Me serviria mucho. Desde ya muchas gracias
  #7 (permalink)  
Antiguo 11/11/2015, 08:24
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Symfony 2.7 logout fallo

Para eso esta la documentación oficial: http://symfony.com/doc/current/cookb..._provider.html
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: logout, php, security, symfony
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:42.