4

我知道默认情况下可以由 symfony2 安全控制器执行注销操作。当我们像这样给出路径注销时,它工作正常。

但是当注销发生时我需要执行一些操作,例如将一些数据存储到数据库中。那么我该如何实现这件事。

如果有任何想法,请帮助我。

4

1 回答 1

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

于 2013-04-25T13:35:45.943 回答