【发布时间】:2013-03-20 09:18:33
【问题描述】:
在控制器中检查 security.context 服务的 getUser() 调用的对象实际上是我的自定义用户类的对象是个好主意吗?
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 }} 的视图中,这仅在@987654327 中实现@class ..,我会出错吗?
【问题讨论】: