2011-12-10 40 views

回答

28

不,eraseCredentials()是爲了在持久化令牌之前擦除敏感數據 - 無論是序列化還是數據庫。

要以編程方式註銷用戶,您可以使用此:

$this->get('security.context')->setToken(null); 
$this->get('request')->getSession()->invalidate(); 
+0

哦,所以喜歡密碼? –

+0

是的,如果你將它們存儲爲明文。 –

+0

哦,不,我不把它們作爲純文本存儲,但我認爲我仍然應該刪除它們? –

0

除了什麼已經Elnur Abdurrakhimov說,我建議看看this article,解釋如何以及爲什麼我們應該使用的UserInterface :: eraseCredentials方法。 基本上,重新使用密碼屬性來存儲純文本密碼然後用編碼版本覆蓋它是不好的主意,因爲它是先決條件錯誤 - 程序員可能忘記編碼密碼並保持對象原樣,存儲純文本文字而不是加密的密碼。