getUser()
在控制器中检查服务调用的security.context
对象实际上是我的自定义用户类的对象是个好主意吗?
public function editAction()
{
$user = $this->container->get('security.context')->getToken()->getUser();
if (!is_object($user) || !$user instanceof \Acme\UserBundle\User) {
throw new AccessDeniedException('This user doesn't have access');
}
// work with $user
// ....
唯一可以保证的是getUser()
返回一个已实现的对象Symfony\Component\Security\Core\User\UserInterface
,没有别的,对吧?
这意味着控制器可能会接收任何类型的对象(可能是匿名令牌)所以如果我将对象直接传递(不控制它)到随后调用的视图中{{ user.biography }}
,这仅在Acme\UserBundle\User
类中实现..,我会犯错误?