# Java > Dveloppement Web en Java > Servlets/JSP >  [JSP] probleme d'invalidation de session

## Jovial

bonjour,

voil mon petit soucis.

j'ai une session pour un utilisateur que j'invalide grce  une page JSP et le code


```
session.invalidate&#40;&#41;;
```

donc en fait j'ai test la chose avec 3 navigateurs et le comportement est bizarre pour 2 d'entres eux.
En fait quand l'utilisateur clique sur le lien de dconnexion il est renvoy vers la page d'identification. De l s'il tape l'adresse d'une page de contenu prive sans s'etre authentifi il raccde au contenu avec les variables de sessions de la dernire session alors qu'elles n'ont pas t recres puisqu'il ne sait pas r-authentifier.
Cela se produit avec les navigateurs IE et Opera mais pas avec Mozilla.

Opera me fait meme qqchose de pire puisque meme s'il y a r-authentification, l'acces aux contenus prives se fait avec les variables de sessions de la sessions prcdentes et non avec les nouvelles cres lors de l'authentification.

En gros je comprends pas comment cela est possible puisque le session.invalidate() est sens stopper la session (et donc supprimer les variables de sessions associes)  ::?:

----------


## dtateur

_session.invalidate()_ a toujours march pour moi, donc je n'ai pas vraiment de pistes  te donner pour trouver le probleme( peut-etre un pb de cache navigateur).

Mais pour plus de suret, avant le_ session.invalidate()_, tu peux enlever tous les objets de la session :



```

```

----------


## RanDomX

essais de rajouter session = null; apres le invalidate.

Clear tout avant aussi ca peut servir.

Autre chose, qd tu recrs une session prends bien soin de le faire avec le boolean  false.

@+

----------


## Jovial

le code de dtateur me lve une "java.util.ConcurrentModificationException"

sinon je ne cr pas de session, je cr uniquement des attributs pour celle-ci car j'ai cru comprendre qu'elle tait crer automatiquement.
D'ailleurs je ne trouve pas de mthode de cration dans la doc
http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpSession.html

Le fait de mettre session  null n'a pas non plus modifi le problme :-(

----------


## dtateur

tu peux aussi faire :


```
session.setMaxInactiveInterval&#40;0&#41;;
```


http://java.sun.com/products/servlet...eInterval(int)

----------


## Jovial

Bah a priori je me suis dit que a allait pas marcher puisque cette fonction invalide au bout de 0 secondes la session, mais j'ai tout de mme test.
Donc a marche pas !
comprend pas du tout comment a se fait ce truc !

----------


## kitov

moi ca marche avec ca mais jai test quavec mozilla ...



```

```

----------


## Jovial

bah honnetement je comprends pas, c'est un peu du n'importe quoi l  ::?: : 
moi ca marche pas... toujours la meme foutu exception   ::x:  
Mais attention  ma grande surprise cette exception n'apparait pas avec opera ! c'est du code jsp et le navigateur a l'air de l'influencer donc je comprends pas !

Bon et le pire c'est qu'Opera n'a pas l'exception mais surtout que ca marche toujours pas, meme erreur...  ::(:

----------


## RanDomX

t sur que c pas le cache navigateur ?

t'as mis des infos ds le header pour dsactiver tout caching ?

< META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE" />
< META HTTP-EQUIV="EXPIRES" CONTENT="-1" />

----------


## Jovial

bah le cache ne se vide pas quand on ferme l'appli
parce que j'ai coup opera et relanc

ceci dit c'est possible puisque je n'ai mis aucune indication dans le head pour le caching car je sais pas comment on fait.

----------


## RanDomX

```

```

----------


## Jovial

ah mais c'est pas possible !
bon bah c'tait a en fait donc j'ai honte   ::oops::  


ceci dit opera a le cache trs tenace tout de mme !
ainsi qu'IE mais les comportements avec le cache apparaissent donc comme compltement diffrent d'un navigateur  l'autre et le refresh bien inutile je trouve sur opera et IE !

----------

