2017-08-30 270 views
2

我知道有一些問題已經問過,雖然在檢查20x後是否與其他人不一樣,我仍然沒有解決方案。Symfony 3.3無法找到路徑「/ login/check」的控制器。該路線配置錯誤

我已經設置了自己的身份驗證偵聽器。無論它是否存儲令牌(在處理時返回null),我都會收到相同的錯誤消息。不知道什麼是錯的/登錄/檢查路徑是主防火牆後面看到security.yml

login: 
     pattern: ^/login$ 
     security: false 

    main: 
     pattern: ^/ 
     anonymous: ~ 
     zwzt: 
      provider: in_memory 
     logout: 
      path: logout 
      target: /login 

的routing.yml文件:

logout: 
    path: /logout 

login_check: 
    path: /login/check 

任何想法這裏有什麼問題?

一些日誌的要求:

[2017-08-30 12:44:39] request.INFO: Matched route "login_check". {"route":"login_check","route_parameters":{"_route":"login_check"},"request_uri":"http://localhost/login/check","method":"POST"} [] 
[2017-08-30 12:44:39] security.INFO: Populated the TokenStorage with an anonymous Token. [] [] 
[2017-08-30 12:44:39] request.WARNING: Unable to look for the controller as the "_controller" parameter is missing. [] [] 
[2017-08-30 12:44:39] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "Unable to find the controller for path "/login/check". The route is wrongly configured." at /var/www/v2/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 137 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): Unable to find the controller for path \"/login/check\". The route is wrongly configured. at /var/www/v2/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:137)"} [] 
+0

zwzt應該是防火牆嗎? – Cerad

+0

當您嘗試登錄時,可以顯示寫入日誌文件的內容嗎? – xabbuh

+0

@Cerad是 - zwzt是我的自定義驗證「處理程序」 –

回答

0

您可能需要定製check_pathlogout.path配置默認_controller雖然這將永遠不會被執行。 symfony會截獲此第一和自動處理註銷:

public function logoutAction() 
{ 
    throw new \Exception('This should never be reached!'); 
} 

同爲check_path控制器,但一招,您可以配置login_path沒有做了相同的路徑。

+0

正試圖這樣做,不幸的是我到達了控制器,這是意想不到的行爲。原因是所有偵聽器在調度到控制器之前都被調用。如果在事件中沒有發現響應,則到達相應的控制器... –

相關問題