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

GWT et Vaadin Java Discussion :

[GWT2.0] Intégration application GWT


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Par défaut [GWT2.0] Intégration application GWT
    Bonjour,

    Je viens de finaliser mon application GWT, elle marche très bien et je la déploie sur Tomcat, tout se passe bien
    Maintenant, je souhaiterais y intégrer l'authentification, c-à-d qu'on puisse y avoir accès d'un formulaire javascript qui permettrait de renseigner son login et son mot de passe. Je peux le faire directement dans mon application GWT mais je souhaite le faire à part.
    Cette page d'authentification sera réalisé par mes futurs clients avec une présentation différente pour chacun mais elles auront toutes à renseigner au minimum un login et un mot de passe pour pouvoir avoir accès à mon application. L'URL de mon application GWT sera toujours la même, pour tous les clients.

    J'avais pensé au départ, que le formulaire javascript m'enverrais via une URL(méthode GET), le login et le password et mon application GWT récupère ces valeurs et vérifie avec ma base de données si cela est correct. mais cette technique n'est pas très sécurisé, mot de passe crypté ou non dans l'URL pas trop top..

    J'aurais aimé plus tôt envoyé ces données(login, mot de passe) en méthode POST. Mais comment faire ? Comment mon application GWT va récupérer ces paramètres de login et password en Post ? pas possible avec GWT ??
    il faudrait peut-être utilisé une servlet qui s'occuperait de cette tâche mais je ne vois pas trop comment rediriger vers mon application GWT sans que l'utilisateur final puisse accéder directement à mon application GWT en recopiant URL finale de l'application??
    Je souhaiterais donner accès à mes clients à cette application en leur disant, il faut envoyer ces paramètres(login, password) avec cette URL et c'est tout; à eux de créer la page de login avec l'envoi à l'URL correcte avec les paramètres saisi dans le formulaire.
    Comment m'y prendre ?j'avoue que le besoin est un peu tordu...

    J'espère être clair dans l'énoncé de mon problème.

    merci d'avance de toute aide, conseil, piste car je suis un peu perdu...

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    Perso je ferais une servlet qui authentifierait le client en POST, en stockant dans les cookies une clef d'authentification, avant de renvoyer vers l'appli GWT.

    Au chargement de l'appli GWT, tu récupères ce cookie :
    • S'il n'est pas présent, c'est que le client n'est pas connecté.
    • S'il est présent, tu vérifies (via un appel serveur) que la clef est valide.




    Par contre je ne comprend pas pourquoi tu ne peux pas faire cette authentification directement dans l'appli GWT ?


    a++

  3. #3
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Par défaut
    Si tu as une base de données, tu auras certainement besoin de sécuriser aussi son accès.
    Côté serveur, tu peux utiliser Shiro : http://shiro.apache.org/
    Il est fournit avec un filtre qui permet de récupérer les paramètres POST d'une authentification. Tu n'as donc même pas besoin de créer ton propre servlet : voir FormAuthenticationFilter

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Par défaut
    merci de vous intéresser à mon problème....

    adiGuba dit
    Par contre je ne comprend pas pourquoi tu ne peux pas faire cette authentification directement dans l'appli GWT ?
    en fait, la page de login sera réalisé par mes différents clients qui souhaite utiliser mon appli GWT. Chaque client va réaliser avec l'apparence qu'il souhaite sa page de login, avec des liens, une présentation en conformité à leur charte...etc... et moi, je veux simplement leur imposer dans leur page de login, un formulaire avec identifiant et mot de passe avec un bouton login et bien entendu l'URL de la servlet qui va permettre de gérer l'authentification.
    exemple URL d'authentification : http://....../AppliGWT/LoginServlet
    URL de mon application GWT : http://...../AppliGWT

    Je vais mettre ma servlet dans l'application GWT, dans le war de mon application.
    Si le client tape directement l'URL de l'appli GWT (http://...../AppliGWT), et qu'il n'est pas passé par cette URL au départ(http://....../AppliGWT/LoginServlet), l'application GWT affichera une page avec un message non connecté, par exemple.
    Par contre, s'il passe par la servlet d'authentification(http://....../AppliGWT/LoginServlet) elle va faire un appel dans ma base de données pour savoir si le couple identifiant/mot de passe est connu et si c'est le cas, cette même servlet me redirige vers cette URL(http://...../AppliGWT) et là, dans la méthode public void onModuleLoad() de mon application GWT, je vérifie que l'utilisateur s'est bien connecté.
    Dans la méthode onModuleLoad(), je ne peux pas vérifier le couple identifiant/mot de passe saisi par un formulaire HTML externe, n'est-ce pas? c'est pourquoi je veux passer par une servlet avant. Mais comment vérifier, que l'utilisateur s'est bien connecté ? la servlet aura mis l'identifiant de la session de l'utilisateur (unique pour un utilisateur donnée, spec. JEE)dans un cookie et là, je sais aller lire dans la méthode onModuleLoad() de l'appli GWT, le cookie : est-ce que je dis pas des bêtises?est-ce que le concept est réaliste et surtout sécurisé ?

    Ce n'est pas un système pour l'armée non plus mais je souhaite mettre un minimum de sécurité afin que n'importe qui ne puisse pas avoir accés à l'appli GWT sans y être authentifié, couple identifiant/mot de passe connu dans la base de données qui se trouve en back-end.

    Voici, un peu le principe que je voudrais mettre en place.....tout d'abord est-ce que cela vous semble cohérent ?
    Contrainte forte: la page de login, page HTML doit être réalisé entièrement par mes clients afin qu'elle puisse avoir une apparence en fonction des envies de mes clients finaux, qui veulent simplement utiliser mon appli GWT. Cette page de login pourra être intégrer à leur site internet/intranet mais l'authentification finale pour l'appli GWT est à ma charge, c'est qui suit garant avec la BD du couple identifiant/mot de passe.


    merci d'avance de valider ou d'invalider mes propos....ou de me remettre sur la bonne piste en fonction de mon besoin.

  5. #5
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Par défaut
    Ton serveur doit renvoyer une page que si les conditions sont remplis. Ce n'est pas du côté client que cela se fait. Ne cherche donc pas du côté du onModuleLoad pour une éventuelle solution

    Shiro est vraiment très utile pour faire ce que tu souhaites. Je te conseil d'y jeter un coup d’œil.
    Sinon:
    Ton servlet /AppliGWT/LoginServlet écrit les paramètres reçus dans la session puis redirige vers /AppliGWT
    Tu ajoute ensuite un filtre sur le path /AppliGWT qui vérifie que l'utilisateur est connu (par exemple tu compares les infos de sa session avec ta bdd). Dans le cas contraire, le filtre envoie un code 401
    Ce filtre peut aussi être utilisé pour les communications entre ton application et ta bdd

Discussions similaires

  1. Intégration de Spring dans une application GWT
    Par sabrina_sab dans le forum Spring Web
    Réponses: 0
    Dernier message: 04/11/2012, 14h38
  2. Intégration widgets GWT dans une application JSP
    Par thefutureisnow dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 23/07/2012, 21h04
  3. [GWT2.3] Déploiement application GWT sous MAC
    Par valkeke dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 09/02/2012, 23h40
  4. [GWT2.3] Deploiement Application GWT
    Par valkeke dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 08/02/2012, 17h19
  5. Modularité des applications GWT
    Par jcfij dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 25/09/2007, 12h52

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