Gibt es eine Möglichkeit, die URL, die umgeleitet wurde, Login-URL erhalten?Silex Security Provider bekommen Referer URL von Login-Route
Hier ist der Kontext, so dass Sie wissen, warum ich diese Frage stelle. Ich beginne damit, den Code zu zeigen, den ich benutze. Dies ist, wie ich die Sicherheitsanbieter bin Registrierung:
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'client' => array(
'pattern' => '^/(en|fr)/client',
'form' => array('login_path' => "/fr/login", 'check_path' => "/fr/client/login_check"),
'users' => function() use ($app) {
return new UserProvider($app['pdoqueries']);
},
'logout' => array('logout_path' => '/logout', 'invalidate_session' => true),
),
)
));
Hinweis hier, dass ich Englisch bin Sicherung und Französisch Urls (/ en/Client und/fr/Client). Ich habe keine Möglichkeit gefunden, dass login_path auf die richtige Login-URL mit der richtigen Ländereinstellung verweist, also schreibe ich sie in die französische URL fest.
Hier ist die Login-Route:
$app->get('/{_locale}/login', function(Request $request) use ($app, $arrConfig) {
$referer = $request->headers->get('referer');
error_log(__FILE__ . ": " . __LINE__ . ": " . __FUNCTION__ ." : " . var_export($referer, true));
return $app['twig']->render('auth/form.twig', array(
'error' => $app['security.last_error']($request),
'last_username' => $app['session']->get('_security.last_username'),
'title' => 'Login',
'assetsUrl' => $arrConfig['assets_url']
));
})
->bind('login');
Sie können sehen, dass ich schon versucht, die Referer aus den Request-Header zu erhalten. Es funktioniert leider nicht. Ich brauche einen Weg, um die URL zu erhalten, auf die der Benutzer zugreifen wollte, um das Gebietsschema daraus zu erhalten und den Login-Text in diesem Gebietsschema anzuzeigen. Diese Information muss irgendwo gespeichert werden, da der Benutzer nach erfolgreicher Anmeldung zu dieser URL weitergeleitet wird.
Dank