2011-12-10 20 views

risposta

28

No, eraseCredentials() è pensato per la cancellazione di dati sensibili prima di mantenere un token, sia esso la serializzazione o un database.

Per disconnettersi da un utente a livello di codice, è possibile utilizzare questo:

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

Oh così come le password? –

+0

Sì, se li archiviano come testo normale. –

+0

Oh no non li ho memorizzati come testo normale, ma penso che dovrei ancora rimuoverli? –

0

In aggiunta a ciò che è stato detto da Elnur Abdurrakhimov, suggerisco di controllare this article, spiegando come e perché dovremmo usare UserInterface :: eraseCredentials metodo. Fondamentalmente, non è una buona idea riutilizzare la proprietà della password per memorizzare la password in testo semplice e quindi sovrascriverla con la versione codificata, perché è un errore prerequisito - il programmatore potrebbe dimenticarsi di codificare la password e mantenere l'oggetto così com'è, memorizzando semplicemente testo invece di password crittografata.