簡體   English   中英

在Symfony 2.1中調試登錄,找到一條不存在的路由

[英]Debug Login in Symfony 2.1, finding an inexisting route

在現有的Symfony 2.1應用程序中,登錄名已損壞。 最初編寫該應用程序的人不在了,因此我必須調試登錄過程,以找出錯誤發生的位置。 我知道,當您嘗試登錄時,基本上您會被重定向到主頁,但是如果沒有登錄,從頭開始並沒有太多。 我檢查了mcrypt是否可用,然后嘗試逐步進行。 發生了一件奇怪的事。

樹枝文件中包含以下行:

<form class="loginBox" action="{{ path('foobar_security_login_check', {'_locale': 'de'}) }}" method="post">

呈現為

<form method="post" action="/login/check" class="loginBox" style="display: block;" novalidate="novalidate">

這樣看起來不錯吧? 我就是這樣,直到我想知道loginform調用哪個控制器。

php app/console router:debug foobar_security_login_check

  [InvalidArgumentException]                                
  The route "foobar_security_login_check" does not exist.  

router:debug [name]

那怎么可能呢? 以及如何找到它所連接的控制器?

當我檢查routing.yml文件時,有一個foobar_security_login_check條目:

foobar_security_login_check:
  pattern:      /login/check

這說明了為什么可以在TWIG中渲染路線。 它仍然沒有告訴我該POST請求發送到的位置。

我不知道為什么您不能調試路由。

但是,我可以回答您的原始問題:稱為什么控制器。 沒有調用控制器。 它是由安全身份驗證偵聽器拾取的,它是在kernel.request事件上偵聽的事件偵聽器: https : //github.com/symfony/Security/blob/master/Http/Firewall/AbstractAuthenticationListener.php#L179

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM