yml - symfony services
¿Cómo funciona la ruta check_path de inicio de sesión sin controlador/acción predeterminados? (1)
El check_path ruta / ruta check_path para atrapar las solicitudes de inicio de sesión.
La acción de esta ruta nunca es realmente accedida. Es la ruta / url que su mensaje de inicio de sesión publica y la solicitud debe ser procesada por el servicio del proveedor de su firewall.
Si la check_path
ruta check_path
se está ejecutando, hay algo mal con el firewall (el firewall no procesa la solicitud).
Como puede ver here ruta de verificación de FOSUserBundle se enruta a SecurityController::checkAction
y solo arroja una RuntimeException
.
La configuración de check_path se puede encontrar en app/config/security.yml
en security.firewalls.<firewallname>.form_login.check_path
.
Puede ser un patrón como /login_check
o, como en su caso, un nombre de ruta, es decir, just2_frontend_logincheck
pero no hay una acción subyacente.
security:
providers:
your_provider_name: your_provider_service # authentication provider
# ...
firewalls: # Required
your_firewall_name:
# ...
provider: your_provider_name
form_login:
check_path: /login_check # submit the login form here
# in your case a route name:
# just2_frontend_logincheck
Bajo el capó, symfony llama al método authenticate()
del servicio your_provider_service
para verificar las credenciales proporcionadas.
Puede encontrar la clase utilizada como proveedor-servicio utilizando:
app/console debug:container --show-private your_provider_service
Estoy trabajando en el proyecto Symfony 2.3 que tiene el siguiente código de enrutamiento
just2_frontend_logincheck:
pattern: /login_check
No tiene
defaults:{ _controller: testBundle:User:login }
Pero está funcionando. Pero no sé cómo funciona la ruta. ¿Es posible? Por favor, infórmenme sobre el enrutamiento.