我知道默认情况下symfony2安全控制器可以执行注销操作。 当我们像这样给出Logout路径时它工作正常。
但我需要执行一些操作,例如在注销时将一些数据存储到数据库中。那么我该如何实现这一目标。
如果有任何想法请帮助我。
答案 0 :(得分:9)
您需要在routing.yml或注释中定义注销操作的新规则(由您决定)
logout_user:
pattern: /logoutUser
defaults: { _controller: YourBundle:YourController:logout }
然后它只为这个动作编写代码:
public function logoutAction() {
//do whatever you want here
//clear the token, cancel session and redirect
$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();
return $this->redirect($this->generateUrl('login'));
}
还有办法完成tesmojones提出的工作 这里symfony2 logout