Problème de session

Résolu
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 - 30 mai 2006 à 11:04
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 - 2 juin 2006 à 22:11
Salut,

J'ai un problème concernant l'utilisation de l'objet Session. Je m'explique:
en arrivant sur une page d'administration, l'utilisateur est invité à se logger sinonil ne peut pas accéder au contenu de cett page. Le principe est le suivant : dès qu'il s'est correctement identifié, je rentre cette information dans l'objet Session comme ceci Session["loggedin"]= true; Et à chaque chargement de la page, mon code ressemble à ça:

if(Session["loggedin"]== null)
{
// Affiche le formulaire pour se logger
}
else if ((bool)Session["loggedin"]==true)
{
// Affiche les informations d'administration
}

Ce code marche parfaitement bien en local. Une fois loggé, l'utilisateur a accès à toutes les informations  qu'il veut. Le problème est quand je déploie l'application sur un serveur web asp.net: la session semble se terminer au bout de 30 secondes. Par exemple, après 30 secondes, l'utilisateur va cliquer sur un quelconque bouton de validation dans la page, ce qui va provoquer le rechargement de celle-ci. Et la il se trouve que l'objet session est un nouveau, qui ne contient plus l'état de "loggedin", et donc l'utilisateur est réinvité a se relogger, ce qui est embêtant :/

Et j'ai bien vérifié la durée d'une session sur le serveur: c'est celle par défaut, 20 minutes.

Si quelqu'un pouvait m'éclairer...

Merci

5 réponses

WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
2 juin 2006 à 22:11
A priori ça venait bien du serveur, j'ai réssayé sur un autre et je n'ai pas ce problème :)
3
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
31 mai 2006 à 16:40
d'apres ce que tu dit, cela me semble bien  un problème de timeout, essaie de bien verifier que le timeout est bien propre à ton application et non à autre chose.

Sinon, autre sugestion sur un server ASP.NET tu peux faire une authentification par formulaire et non par windows. Ainsi si la session n'existe pas il est directement redirigé vers ta page de login, sinon il va à la page qu'il a demandé.
Ainsi tu n'a plus besoin de tester dans chaque page la presence de la variable session car c'est le serveur ki va le faire pour toi
0
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
31 mai 2006 à 18:42
Salut,

Merci pour ta suggestion mais  je voudrais me servir de la variable de session pour mettre d'autres infos en mémoire aussi. Le problème n'est donc pas qu'avec le login.

Sinon c'est bien le timeout de mon application, je peux le changer et tout. Mais j'ai remarqué que la nouvelle session créee avait toujours la même ID que l'ancienne à chaque fois... Cependant je sais qu'il en crée une nouvelle, car j'ai mis des alertes dans Session_Start du fichier Global.asax, et j'affiche également le champ Sessin.IsNewSession qui me confirme que c'est bien une nouvelle qui est créee (quand un bouton ou un refresh provoque le rechargement de la page).

Cependant, l'alerte que je met dans le Session_End de Global.asax n'est jamais affichée..

Je n'y comprend rien. Sachant que tout marche bien en local, et que les papamètre de la session sont les même sur le serveur web (mode InProc et tout)

Merci
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
31 mai 2006 à 19:20
Ah ouais la ca se corse un peu...
Le gros problème n'est pas le temps ni tes paramètres alors mais la je pense que c'est carement un problème du serveur car c'est lui qui s'occupe de créer les ID de sessions et elle sont creer il me semble de manière aléatoire et par rapport à l'heure.

Alors à mon avis tu devrait faire des recherches la dessus si tu es vraiment motivé mais à ta place jme pencherais plus sur une réinstall du server Web...
Sinon ca ne me parait pas un problème de config vu les symptomes donc je ne peux pas taider...Désolé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
31 mai 2006 à 22:16
Je n'ai pas accès au serveur, c'est un hébergeur asp.net gratuit que j'utilise pour faire mes tests avant d'en prendre un payant. Le problème vient sans doute de là... enfin j'espère.Merci pour ton aide en tout cas
0
Rejoignez-nous