Symfony2安全性:刷新用户时获取用户名

时间:2014-01-27 14:38:50

标签: php symfony authentication doctrine-orm

为什么其refreshUser方法中的实体提供程序返回userNULL对象作为用户名而不是实际用户名?

public function refreshUser(UserInterface $user)
{
    $class = get_class($user);
    if (!$this->supportsClass($class)) {
        throw new UnsupportedUserException(
            sprintf(
                'Instances of "%s" are not supported.',
                $class
            )
        );
    }
    var_dump($user->getUsername()); // prints NULL 
    die();
    return $this->loadUserByUsername($user->getUsername());
}

1 个答案:

答案 0 :(得分:1)

似乎只有id属性为 public 。但是,用户名属性可能是私有。 为此,对象用户的序列化使username = null。