Discussione:
Tomcat + Session
(troppo vecchio per rispondere)
himgi
2007-02-22 13:39:15 UTC
Permalink
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.
n.n
2007-02-22 17:07:44 UTC
Permalink
Post by himgi
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?
Credo che si disintegrino da sole assieme alla VM le sessioni
Post by himgi
Ciao e grazie a tutti, Himgi.
ciauz

--------------------------------
Inviato via http://arianna.libero.it/usenet/
l***@gmail.com
2007-02-22 17:20:32 UTC
Permalink
Post by n.n
Post by himgi
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?
Credo che si disintegrino da sole assieme alla VM le sessioni
Post by himgi
Ciao e grazie a tutti, Himgi.
ciauz
--------------------------------
Inviato viahttp://arianna.libero.it/usenet/
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!
gnurant
2007-02-22 17:40:54 UTC
Permalink
Post by n.n
Post by himgi
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.
Credo che si disintegrino da sole assieme alla VM le sessioni
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!
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...
r***@gmail.com
2007-02-22 23:02:04 UTC
Permalink
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.
Carmine Montella
2007-02-23 08:57:40 UTC
Permalink
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
gnurant
2007-02-23 17:56:48 UTC
Permalink
Post by r***@gmail.com
Se non erro le sessioni si basano sui cookie.
Non necessariamente.
Post by r***@gmail.com
Se si riavvia il tomcat senza eliminare i cookie del browser e senza
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!).
r***@gmail.com
2007-02-23 23:21:14 UTC
Permalink
Post by gnurant
Post by r***@gmail.com
Se non erro le sessioni si basano sui cookie.
Non necessariamente.
Post by r***@gmail.com
Se si riavvia il tomcat senza eliminare i cookie del browser e senza
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!).
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.
gnurant
2007-02-24 06:57:45 UTC
Permalink
Post by r***@gmail.com
Post by gnurant
Post by r***@gmail.com
Se si riavvia il tomcat senza eliminare i cookie del browser e senza
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!).
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.
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.

emmeesse
2007-02-23 16:14:10 UTC
Permalink
Post by gnurant
Se *fermi* il gatto butti giu' anche il processo JAVA: e' semplicemente
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.
gnurant
2007-02-23 18:10:14 UTC
Permalink
Post by emmeesse
Post by gnurant
Se *fermi* il gatto butti giu' anche il processo JAVA: e' semplicemente
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.
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?
t***@gmail.com
2007-02-23 14:20:36 UTC
Permalink
Post by himgi
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.
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. :-)
emmeesse
2007-02-23 16:11:13 UTC
Permalink
Post by himgi
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?
Prova con:
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false"/>
Nel tuo context.
Loading...