SecureSocial per impostazione predefinita utilizza la cache di riproduzione predefinita per l'archiviazione degli autenticatori (che corrispondono ai cookie all'utente connesso). La cache di riproduzione predefinita è EHCache ed è configurata utilizzando il file ehcache.xml che puoi trovare nei barattoli. La configurazione predefinita è strettamente in memoria, il che significa che quando l'app si riavvia, perde tutti i valori. Fortunatamente, è piuttosto semplice sovrascrivere la configurazione di EHCache per scrivere sul disco.
Copia il file ehcache.xml nella directory di configurazione. Aggiungi <diskStore path="java.io.tmpdir"/>
e cambiare diskPersistent
a true
Quindi il mio aspetto:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd" updateCheck="false">
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="false"
maxElementsOnDisk="10000000"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
Se siete interessati imparare come configurare il resto, v'è una certa documentazione nel file EHCache-failsafe.xml questo è anche nei barattoli di gioco.
fonte
2013-08-27 01:59:42
Strano ... Stai cancellando i cookie da qualche parte (in 'Global.onStop()' o da qualche altra parte)? –
Non che io sappia. Quindi questo non è il comportamento predefinito? –
Il problema è andato via dopo il passaggio a un'implementazione del database per il servizio utenti –