注销后如何重定向到主页?
Posted
技术标签:
【中文标题】注销后如何重定向到主页?【英文标题】:How to redirect to home page after logout? 【发布时间】:2015-08-09 04:19:26 【问题描述】:我在 symfony 上提供了一个预构建项目,其中注销会话重定向到登录屏幕,但现在我希望该页面重定向到主页上。我在编码文件中发现的是这样的:
在基础树枝文件中:
<a href="path('log_out')"><i class="icon-key"></i> Log Out</a>
在routing.yml中
#Route for logout page.
log_out:
pattern: /bid/logout
【问题讨论】:
【参考方案1】:通常它会重定向到主页。检查你的 security.yml 配置文件。
firewalls:
default:
logout:
path: /logout
target: / #This is home url
【讨论】:
我的目标 id 空白...即/
【参考方案2】:
在 Symfony 4 上,默认情况下,注销操作重定向到 / 路径。您可以通过在 security.yml 配置文件中设置适当的配置参数来更改默认行为。
security:
...
firewalls:
...
main:
...
logout:
...
target: app_login # you can specify a hard coded URL path or a route name
【讨论】:
【参考方案3】:以我的拙见,最简单的方法是简单地在您的 logoutAction 中进行重定向(因此在您的控制器中),如下所示:
public function myLogoutAction()
// Your logout logic
return $this->redirect($this->generateUrl('my_route'));
【讨论】:
我通过将模式更改为 /home 使其工作。但我想知道这样做是否正确? 如果你把pattern改成/home
,你会到首页,但是你不会调用你的logoutAction,这也是我相信想要的。所以不,这不是做到这一点的好方法。如果您想在不注销的情况下进行重定向,请不要更改模式,但要更改链接中的 href。
我在控制器的注销功能中发现了这个:public function logoutAction() throw new \RuntimeException('Please Configure the logout in your security setting.');
这里如何编辑链接?
不要混淆:要么你改变你的基本树枝文件链接中的href,你放的第一段代码(但你不会有一个真正的注销,只是一个重定向) , 或者你把我的回答放在你行动的最后。但那是在猜测你写了一个 logoutAction。从您发布的异常中看来,根本没有配置注销操作,因此如果您想真正注销,则必须这样做(并且如果您像您所说的那样是新手,那将并不容易)以上是关于注销后如何重定向到主页?的主要内容,如果未能解决你的问题,请参考以下文章