Newsgroup: it.comp.java
Titolo: Tomcat + Session

Ciao a tutti ho un piccolo (forse) problemino per quanto riguarda le
sessioni. O meglio le non sessioni!
In sostanza vorrei che accadesse una cosa!
Quando stoppo Tomcat, vorrei che tutte le sessioni fossere invalidate
di modo che al riavvio di Tomcat l'utente precedentemente loggato
debba rieseguire il login.
Ho cercato un po' in giro, sia su google che qui sul NG, ma nulla
trovai!
Sapete aiutarmi?
Ciao e grazie a tutti, Himgi.

 Ciao e grazie a tutti, Himgi.
ciauz
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

On 22 Feb, 18:07, 
n...@libero.it
 (n.n) wrote:

Nulla si crea e nulla si distrugge ma tutto si trasforma!
Cmq... dopo sta cazzata... era quello che credevo anche io... invece
non è così!
In sostanza io ho un oggetto in sessione e quando stoppo e riavvio il
micio, si ricrea con i dati di prima.
In sostanza l'oggetto rappresenta la login dell'utente!
Cmq rimane sempre lì, devo sempre fare il logout per poterlo
eliminare!
Pero' mi piacerebbe che si eliminasse da solo se fermo e riavvio
tomcat!

 tomcat!
Se *fermi* il gatto butti giu' anche il processo JAVA: e' semplicemente
impossibile che accada quello che hai detto.
A questo punto posso fare solo ipotesi:
- non arresti veramente il servizio Tomcat;
- i tuoi dati sono persistenti (serializzati, db, ..);
- e' un effetto della cache del browser;
- hai allucinazioni ;)
Prova a controllare...

Se non erro le sessioni si basano sui cookie.
Se si riavvia il tomcat senza eliminare i cookie del browser e senza
che questi siano "scaduti" la sessione è ancora valida.

Ciao Riccardo,
ho provato a loggarmi(login con oggetti session), stoppato il gatto 
eliminato i cookie, fatto ripartire il gatto, refresh sulla 
stessa pagina è tutto ok, riesco a navigare (tutto ok).
Carmine
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

himgi ha scritto:

Al momento mi viene in mente un solo modo, cmq e' un tentativo che non
ho testato:
prova intanto ad utilizzare l'interfaccia ServletContextListener,
presente nel package javax.servlet.
Al suo interno definisce due metodi (contextInitialized e
contextDestroyed), penso che potrebbe essere una buona soluzione al
tuo problema.
Leggi attentamente la documentazione prima di modificare la tua
applicazione (e' raggiungibile anche in modalita' offline su Tomcat
stesso), in particolare tieni presente la parte in cui si dice "[...]
the implementation class must be configured in the deployment
descriptor for the web application".
Buon divertimento. :-)



Prova con:
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false"/>
Nel tuo context.

 impossibile che accada quello che hai detto.
Mai dire impossibile.
Tomcat 5 di default tenta di serializzare le sessioni allo shutdown e
le recupera quando riparte. Per cui ciò che lui vede non è una
allucinazione.

 che questi siano "scaduti" la sessione è ancora valida.
Fai un po' di confusione sui concetti, mi sa: la sessione è lato server,
mentre i cookies non mantengono informazioni sugli oggetti persistenti
a livello di sessione (e ci mancherebbe!).

 allucinazione.
E' un fatto che prorio ignoravo! :(
Ho pensato "e' possibile solo se serializza" ma l'ho scartata subito
come ipotesi inverosimile! In effetti non dovrebbe essere un buco
di sicurezza, a patto naturalmente che il timeout della sessione
utente venga comunque tenuto in considerazione anche quando
il server e' giu'. Immagino sia cosi', vero?


Nessuna confusione.. prova a mettere un oggetto in sessione e poi a
cancellare il cookie creato...
vedrai che tutto l'oggetto session viene distrutto... quindi sul
client, cioè nei cookie, vengono memorizzate
le informazioni sulla session.

 le informazioni sulla session.
Si', nel senso che nei cookies vengono memorizzate tutte e sole le
informazioni per "agganciarsi" alla session che e' lato server (penso
sostanzialmente l'id della sessione).
*Non* essendo a conoscenza del fatto evidenziato da emmeesse
(cioe' che la sessione in qualche modo "rimane" lato server anche
quando il server va giu') avevo paura intendessi che i cookies
(lato client) mantenessero tutte le informazioni (parametri di
sessione, utente loggato, ecc) sulla sessione che permettevano
poi di "ricostruirla" una volta riavviato il server, il che non puo'
essere vero.