2013-02-11 25 views
2

我知道註銷操作默認情況下可以由symfony2安全控制器執行。 當我們給路徑註銷這樣它工作正常。如何覆蓋symfony2中的註銷操作

但我需要執行一些操作,例如在註銷發生時將一些數據存儲到數據庫中。所以我該如何實現這個功能。

如果有任何想法,請幫助我。

+0

提出的工作,你有沒有看到[這](https://groups.google.com/forum/?fromgroups=#!topic/symfony2/iJ9Kq72aTgM ) 。 – Mick 2013-02-11 07:27:14

回答

8

您需要定義在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