UserInterface和getToken的Symfony错误



Helle在那里!

我目前正在JWT进行身份验证。我是Symfony 5.3当我想测试我的登录时,我有一个错误:

<!-- Cannot autowire argument $user of &quot;AppControllerAuthController::getTokenUser()&quot;: it references interface &quot;SymfonyComponentSecurityCoreUserUserInterface&quot; but no such service exists. Did you create a class that implements this interface? (500 Internal Server Error) -->

我已经安装了安全捆绑包和我的用户实体:

class User implements UserInterface, PasswordAuthenticatedUserInterface

有人能帮我吗?

感谢

也许你已经写了一行:

class User implements UserInterface, PasswordAuthenticatedUserInterface

而不预先创建use语句?

use SymfonyComponentSecurityCoreUserUserInterface;

当你习惯于IDE为你做这件事时,这是一种典型的忽视,而在特定的时刻它并没有发生。

如果是这种情况,这也适用于PasswordAuthenticatedUserInterface

错误表明AuthController::getTokenUser()方法有问题,而不是User类有问题。你能贴出那个方法的签名吗?

根据你发布的内容,我猜测你的方法看起来像这样:public function getTokenUser(UserInterface $user)...

如果在该控制器方法中需要当前的User,则应该注入SymfonyComponentSecurityCoreSecurity,然后调用$security->getUser(),如下所示:

public function getTokenUser (Security $security)
{
$user = $security->getUser();
}

相关内容

  • 没有找到相关文章

最新更新