IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Ajax - Java - Fin de Session


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut [AJAX] Ajax - Java - Fin de Session
    Bonjour,

    J'ai un petit souci technique.
    J'ai une première jsp qui contient une div que je met à jour via Ajax.
    Ma div est alimenté par une requête sur la base de données mais avant je contrôle que mon utilisateur est toujours connecté (Utilisateur dans la Session de mon serveur d'appli). Si il n'y a pas de user connecté dans la session je redirige vers la page d'accueil pour ré-authentification.
    Malheureusement étant donné que j'étais dans un process de mise à jour de div ma page d'authentification est redirigé dans la div et non en pleine page.
    Pour la rédirection j'utilise un RequestDispatcher.forward(request, response) ;

    D'avance merci de vos réponses.

    @+
    Imhotep

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Le problème ne se situe vraisemblablement pas du côté javascript de ton traitement ajax, mais bien plutôt côté serveur, en l'occurrence Java.
    Il est difficile pour les lecteurs de ce forum de devoir comprendre les spécificités de chacun des langages serveur existant.
    Par contre, c'est la structure appel/réponse (côté javascript), qui est commune quel que soit le langage serveur, qui est l'objet de ce forum.

    Bien sûr ça n'empêche pas que quelqu'un peut s'y connaître en Java et te dépanner... mais demande quand même aussi l'avis des gourous Java/JSP sur leur territoire

  3. #3
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    C'est marrant, je parlais du même genre de problème a un collègue ya pas 10 min ^^

    A mon avis, la meilleur chose que tu aies a faire, c'est de séparer le cas ou tu as un utilisateur non logué (ce que tu as déja) en 2:
    - un cas ou la requete vient d'un appel ajax,
    - un cas ou elle vient d'une requete HTTP normale d'un navigateur.

    Dans le premier, ca se passe comme tu l'as déja fait, et dans le 2e, il faut que tu renvoies une information a ton callback javascript pour lui dire que l'utilisateur n'était pas authentifié. En conséquence, tu ne remplies pas ta div comme tu l'aurais fait dans le premier cas, mais tu fais une redirection (javascript) vers la page de login. Ce mesage peut être soit un texte bidon, soit pourquoi pas en mettant un header spécial. Je ne sais pas lequel est le plus adapté, 401, 307? Peut être même un header perso pourquoi pas?)

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Salut,

    Je ne t'aiderai pas sur le langage Java en particulier car je développe en Php.

    Par contre, une petite chose que je ne comprends pas : si tu vérifies qu'il y a au moins un utilisateur logué avant d'appeler ta fonction de mise à jour du div, il ne devrait pas y avoir de problème. Par contre, si tu le fais au sein même de cette même fonction, alors là c'est logique.

    Donc, pour moi, tu devrais avoir une fonction de vérification qui, si elle trouve au moins un log, appelle la fonction de mise à jour, sinon redirige l'url.

    Maintenant, je n'ai peut-être pas bien preçu ton problème...

  5. #5
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    A mon avis, la meilleur chose que tu aies a faire, c'est de séparer le cas ou tu as un utilisateur non logué (ce que tu as déja) en 2:
    - un cas ou la requete vient d'un appel ajax,
    - un cas ou elle vient d'une requete HTTP normale d'un navigateur.
    Tout à fait d'accord avec toi mais comment détermines-tu coté Java si la requête provient d'un appel AJAX ou d'un post/get "standard"?

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Dans le cas d'ajax, tu passes un parametre bidon à ta requete, du genre from="ajax".

    Si tu trouves ce paramètre, c'est que la requete HTTP provient d'un appel ajax, sinon, c'est qu'elle provient d'un GET/POST normal.

  7. #7
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Citation Envoyé par mysteriousFreak Voir le message
    Tout à fait d'accord avec toi mais comment détermines-tu coté Java si la requête provient d'un appel AJAX ou d'un post/get "standard"?
    Pour ma part je différencie les requêtes par leur url. Par exemple, mes requêtes
    ajax sont de la forme: index.php?ajax=commande&param=value

    EDIT: J'ai pas copié sur DoubleU :-)

    Comme cela a été dit plus haut, il faut utiliser une redirection javascript pour
    renvoyer sur la page login si l'utilisateur n'est plus en session.

    Une redirection http (302 par ex) sera suivie par XmlHttpRequest et tu aura
    ta page login qui apparait dans ton div.

    Moi je retourne un script en réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type='text/javascript'>
      window.location.href = 'url-login.php';
    </script>
    Il faut bien sur évaluer les scripts retournés par tes requêtes Ajax.

  8. #8
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Par défaut
    Merci pour vos réponses,

    ...Qui sont d'ailleurs ce que je craignais... :'(

    Je souhaitais (un rêve inaccessible apparemment) que le traitement soit transparent à l'écriture du code puisque le fonctionnement doit être le même sur l'ensemble de l'application - pour éviter les trous dans la raquette quoi. C'est pourquoi je voulais éviter l'utilisation d'un paramètre... Mais bon... Je pense suivre cette solution car je crois que je n'ai pas le choix...

Discussions similaires

  1. [AJAX] détecter fin de session PHP en Javascript
    Par jason69 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2008, 11h44
  2. [AJAX/XML/JAVA] Afficher un flux de données depuis un site web
    Par chodaboy34 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/10/2006, 16h38
  3. [AJAX/JSP] Perte de la session et de response sous IE
    Par maxbzh56 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/08/2006, 11h04
  4. [AJAX] sql +java script dans xhtml
    Par 18Marie dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/06/2006, 19h15
  5. [AJAX] Ajax, Php, Sessions, OScommerce
    Par Florent08800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/05/2006, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo