我知道注销操作默认情况下可以由symfony2安全控制器执行。当我们像这样给出路径Logout时,它工作得很好。
但我需要执行一些操作,比如在注销时将一些数据存储到数据库中。那么我该如何做到这一点呢。
如果有人有想法,请帮助我。
您需要为routing.yml或annotation中的注销操作定义新规则(由您决定)
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注销