我在我的symfony項目登錄表單(我在symfony的一個品牌小白),我想不同的反應,這取決於錯誤我得到。管理的Symfony BadCredentialsException碼
我讀的BadCredentialsException文檔和它的父類AuthenticationException,但每當我傾倒getLastAuthenticationError()
與枝條沒有找到有關該錯誤的代碼,這是我得到什麼:
BadCredentialsException {#93 ▼
-token: UsernamePasswordToken {#92 ▶}
#message: "Bad credentials."
#code: 0
#file: "C:\pathToProject\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authentication\Provider\UserAuthenticationProvider.php ◀"
#line: 90
-trace: {▶}
}
到目前爲止,我總是有0代碼。
還有其他的代碼嗎?我在哪裏可以在文檔中找到它們?
而且,這個例外似乎發生密碼是壞還是用戶不存在。有什麼辦法可以區分這兩個事件嗎?
我想你錯過了我的問題^^ –
的「小白」的一部分儘管如此,UserAuthenticationProvider.php構造的選擇似乎很有趣,但我沒有一個關於如何使用它的線索,因爲symfony中拋出該異常不求回報我。 –
@DanChaltiel,這個選項基本上就是你想要的。如果選中[UserAuthenticationProvider.php#L72(https://github.com/symfony/security-core/blob/master/Authentication/Provider/UserAuthenticationProvider.php#L72),我在我的回答給了,你可以看到方法正在檢查此選項,以便拋出「UsernameNotFoundException」或「BadCredentialsException」。這不是一個n00b,它是花時間來檢查來源;) –