我有一个 Symfony2 站点,我想根据用户尝试访问的 URL 在登录页面上显示额外信息。我正在使用“use_forward”。有没有办法在登录表单的控制器中查看 URL?
我想我可以设置多个指向不同登录页面的防火墙,但可能会有很多,所以我宁愿避免这样做。
我有一个 Symfony2 站点,我想根据用户尝试访问的 URL 在登录页面上显示额外信息。我正在使用“use_forward”。有没有办法在登录表单的控制器中查看 URL?
我想我可以设置多个指向不同登录页面的防火墙,但可能会有很多,所以我宁愿避免这样做。
如果您想要“正确”的东西,请查看此问题的答案。
或者
如果你想快速而肮脏地做到这一点,你可以使用:
$this->container->get('request')->server->get('PHP_SELF');
Whick 会产生类似的东西/project_name/web/app_dev.php/controller_name/
,您可以使用该字符串,但要考虑到它会根据您正在处理的环境而改变。Request 类文档将成为您的盟友,即:
$this->container->get('request')->getBasePath()
会给你/project_name/web/
您可以尝试在某些地方查找此 URL:
$url = $request->get('_referer');
如果它是空的,那么你可以尝试检查标题
$url = $request->headers->get('Referer');