Buenas!
Llevo un buen rato intentado que los usuarios anónimos que llegan a /
se les redirijan a /login
.
/login
he conseguido que sea público, pero no consigo redirigir a los usuarios.
Os pongo mi archivo de configuración:
# app/config/security.yml security: access_denied_url: /login providers: in_memory: memory: ~ firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false default: anonymous: ~ login_firewall: pattern: ^/login$ anonymous: ~ secured_area: pattern: ^/ anonymous: ~ form_login: csrf_provider: form.csrf_provider access_control: - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, role: ROLE_USER }
Es como si no hiciera caso del access_denied_url
, porque el error de acceso no autorizado para /
me aparece.
¿Alguna sugerencia?
Respuestas
En realidad no es necesario que definas la opción access_denied_url
y tampoco el firewall default
. Como el error puede producirse por motivos difíciles de detectar, te aconsejo que mires por ejemplo la seguridad de la aplicación de ejemplo Cupon que hace exactamente lo que tú quieres hacer.
Si instalas la aplicación Cupon en tu ordenador local y pruebas a acceder a cualquier URL privada (por ejemplo /es/usuario/compras
) verás que la aplicación te redirige automáticamente a la página de login.
@javiereguiluz