你好!
我目前正在使用 JWT 進行身份驗證。我使用的是 Symfony 5.3 我想測驗我的登錄時出錯:
<!-- Cannot autowire argument $user of "App\Controller\AuthController::getTokenUser()": it references interface "Symfony\Component\Security\Core\User\UserInterface" but no such service exists. Did you create a class that implements this interface? (500 Internal Server Error) -->
我已經安裝了安全包和我的用戶物體:
class User implements UserInterface, PasswordAuthenticatedUserInterface
有人可以幫助我嗎?
謝謝
uj5u.com熱心網友回復:
也許你寫了一行:
class User implements UserInterface, PasswordAuthenticatedUserInterface
沒有事先創建use陳述句?
use Symfony\Component\Security\Core\User\UserInterface;
當您習慣于您的 IDE 為您做這件事時,這是一個典型的忽視,并且在特定時刻它不會發生。
如果是這種情況,這也適用于 PasswordAuthenticatedUserInterface
uj5u.com熱心網友回復:
該錯誤表明您的AuthController::getTokenUser()方法存在問題,而不是您的User類。你能發布那個方法的簽名嗎?
根據您發布的內容,我的猜測是您的方法如下所示:
public function getTokenUser(UserInterface $user)...
如果您需要該User控制器方法中的電流,您應該注入Symfony\Component\Security\Core\Security然后$security->getUser()像這樣呼叫:
public function getTokenUser (Security $security)
{
$user = $security->getUser();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/379370.html
標籤:symfony
上一篇:控制器未正確注冊為服務?
