2015-11-13 130 views
2

我點擊我的註銷按鈕,應該註銷我。我根據紀錄片所做的一切,但仍收到以下錯誤爲什麼註銷不起作用? Symfony2

Unable to find the controller for path "/logout". The route is wrongly configured. 

這裏是我的security.yml

firewalls: 
    main: 
    anonymous: ~ 
    dev: 
    pattern: ^/(_(profiler|wdt)|css|images|js)/ 
    security: false 
    secured_area: 
    pattern: ^/ 
    form_login: 
     login_path: /login 
     check_path: /login_check 
     default_target_path:/
    logout: 
     path: /logout 
     target:/
     invalidate_session: false 

我當然加

logout: 
    path: /logout 

到的routing.yml

我的註銷有什麼問題?

+0

我應該在哪裏添加它?在security.yml中註銷?我收到以下錯誤,然後在「security.firewalls.secured_area.logout」下出現無法識別的選項「註銷」 –

回答

0

增加這樣的功能解決了這個問題:

/** 
* @Route("/logout", name="logout") 
*/ 
public function logingOut() { 
    $this->get('security.token_storage')->setToken(null); 
    $this->get('request')->getSession()->invalidate(); 

    return $this->redirect($this->generateUrl('index_page')); 
} 
0

你確定你添加在文件中的註銷路徑路由?試試這個在您的控制檯,你應該看到未來:

app/console debug:router 
... 
    login      ANY ANY ANY /login 
    login_check    ANY ANY ANY /login_check 
    logout      ANY ANY ANY /logout 
... 

,如果你不能看到這一點,也許你不正確的路由添加的路徑。