我尝试在身份验证成功事件后保存用户gsm数据:
/**
* @param AuthenticationSuccessEvent $event
*/
public function onAuthenticationSuccessResponse(AuthenticationSuccessEvent $event)
{
$data = $event->getData();
$user = $event->getUser();
dd($user);
$gsm = isset(\json_decode($this->requestStack->getCurrentRequest()->getContent())->gsm) ? \json_decode($this->requestStack->getCurrentRequest()->getContent())->gsm : null;
if ($user->getGsm()) { // <------ get user GSM
...
} else {
...
}
$event->setData($data);
}
当我尝试生成令牌时,它工作正常:
但是当我尝试刷新令牌时 我遇到了symfony错误:
Attempted to call an undefined method named "getGsm" of class "Symfony\Component\Security\Core\User\User".
dd($ user)的结果是:
答案 0 :(得分:1)
您实际上是在尝试保存GSM数据时,尝试在Symfony User类上调用getGsm方法。
确保使用正确的用户,并且需要使用setGsm。