2

我正在使用 symfony 1.4 并且我使用 sfDoctrineGuardPlugin 作为身份验证工具。

我想捕获用户的 ID,以便将其存储在我的表中。

经过一番小小的研究,我想我必须使用那个表达 : getUser()->getGuardUser()->getId()

我要寻找的是如何为我的目标投资那个表达。

4

2 回答 2

6

如果用户通过身份验证,是的,您可以使用:

// inside an action
$id = $this->getUser()->getGuardUser()->getId();

// inside a template
$id = $sf_user->getGuardUser()->getId();

如果用户未通过身份验证,则会引发错误。

于 2011-05-17T18:02:21.877 回答
3

取决于你从哪里打电话。

从“视图”:

echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();

从“控制器”(如上面汤姆提到的):

echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();

(第一行是“id”,第二行是“用户名”)

于 2012-03-03T19:27:50.633 回答