需要在Symfony2中登录的页面的URL

需要在Symfony2中登录的页面的URL,symfony,Symfony,我有一个Symfony2站点,我想根据用户试图访问的URL在登录页面上显示额外信息。我用的是“向前使用”。有没有办法在登录表单的控制器中查看URL 我想我可以在不同的登录页面上设置多个防火墙,但是可能有很多防火墙,所以我宁愿避免这样做。如果你想要一些“合适”的东西,那么看看它们的答案 或 如果您想快速且肮脏地完成,可以使用: $this->container->get('request')->server->get('PHP_SELF'); Whick将产生类似于/pr

我有一个Symfony2站点,我想根据用户试图访问的URL在登录页面上显示额外信息。我用的是“向前使用”。有没有办法在登录表单的控制器中查看URL

我想我可以在不同的登录页面上设置多个防火墙,但是可能有很多防火墙,所以我宁愿避免这样做。

如果你想要一些“合适”的东西,那么看看它们的答案

如果您想快速且肮脏地完成,可以使用:

$this->container->get('request')->server->get('PHP_SELF');
Whick将产生类似于
/project\u name/web/app\u dev.php/controller\u name/
的内容,您可以使用该字符串,但要考虑到它将根据您所处的环境而变化。在这方面,他们将是你的盟友,即:

$this->container->get('request')->getBasePath()

将为您提供
/project\u name/web/

您可以尝试在某些地方查找此URL:

$url = $request->get('_referer');
如果为空,则可以尝试检查标题

$url = $request->headers->get('Referer');

你到底想显示什么URL?现在的上一个(推荐人)?当前URL。导致显示登录页面的安全配置已阻止的URL。因此,实际上不是当前URL,而是导致重定向到登录表单的前一个URL?@TheCanotheFlat如果我没有使用“use_forward”,它将是前一个URL。稍后,我将向您解释应该覆盖哪些内容以获得预期的行为;)@康托夫拉特确实没有,但他完成了工作。如果有更好的“Symfony方式”,我渴望学习。