2011-08-02 58 views

回答

1

我想應該是:

$user = // sfGuardUser object 
$user_id = $user->getId(); 

$this->getUser()->signIn($user_id, true); 

...與第二個參數是真/假的 「記住我」。

請參閱Plugin lib/user /中sfGuardSecurityUser.class.php中的signIn函數,瞭解它的工作原理。

+0

如何獲得sfGuardUser的實例?我正在嘗試在擴展sfBasicSecurityUser的類中執行此操作。 – Carlinhete67

+0

@ carlinhete67:好的,爲了將某人登錄爲sfGuardUser,必須有一個sfGuardUser對象才能登錄。您可以使用查詢或sfContext :: getInstance() - > getUser() - > getGuardUser ),但更好的做法是將會話用戶對象($ this-> getUser())傳遞給你的類,然後使用getGuardUser()方法。如果你進一步澄清你想要做的事,這可能會很有用。 – Tom

+0

我想根據用戶名直接用方法調用登錄用戶。例如:signIn('username'); 並登錄。 – Carlinhete67