我正在使用 symfony 1.4 并且我使用 sfDoctrineGuardPlugin 作为身份验证工具。
我想捕获用户的 ID,以便将其存储在我的表中。
经过一番小小的研究,我想我必须使用那个表达 : getUser()->getGuardUser()->getId()
。
我要寻找的是如何为我的目标投资那个表达。
如果用户通过身份验证,是的,您可以使用:
// inside an action
$id = $this->getUser()->getGuardUser()->getId();
// inside a template
$id = $sf_user->getGuardUser()->getId();
如果用户未通过身份验证,则会引发错误。
取决于你从哪里打电话。
从“视图”:
echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();
从“控制器”(如上面汤姆提到的):
echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();
(第一行是“id”,第二行是“用户名”)