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

Hibernate Java Discussion :

Ahthentification application web avec hibernate et myeclipse


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Par défaut Ahthentification application web avec hibernate et myeclipse
    Bonjour,
    avant tout croyez-moi j'ai bien cherché et je n'ai pas trouvé ce que je veux pour ne pas poster une question que sa réponse existe déjà.

    Après faire le mapping de mes tables de BD (myeclipse+tomcat+mysql+struts) avec hibernate sysnchroniser (ce qui m'a crée les fichiers de mapping, les beans et les DAO), j'ai une table user qui contient (id_user, login_user, password_user, role), pour mon application je dois faire l'authentification pour que seulement un admin et un opérateur peuvent s'authentifier, je dois alors vérifier si les champs saisis par l'utilisateur existe dans cette table ou non.

    Je ne vous demande pas de me faire le code, seulement si quelqu'un a déjà un exemple d'authentification et/ou (comment,ou`écrire) mes requêtes???
    ...peut être un exemple qui ressemble à ça...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hé bein tu demande à hibernate (via Criteria par exemple) de te récupèrere les utilisateurs qui ont le bn login, le bon mot de passe et le bon groupe.
    Si tu récupère une liste vide c'esqt que l'authentification à échouée.

    Par exemple, en supposant que tu aie une classe 'UserDao' chargée de gérére les objets 'User' via hibernate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class UserDao {
     
       // Tu te débriouille pour obtenir la session (par constructeur, accesseur,..)
       private Session session;
     
       public User getUser(String login, String password) {
         // 'name_user' et 'password_user' sont les noms des attributs de ton objet
         Criteria criteria = session.createCriteria(User.class)
                .add( Restrictions.eq("name_user", login) )
                .add( Restrictions.eq("password_user", password) );
         return (User) crit.uniqueResult();
       }
     
    }
    Et ailleurs dans la classe qui doit identifier ton user
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class AuthenticationService {
     
       // Tu te dérbrouille aussi pour iobtenir le UserDao
      private UserDao userDao;
     
      public boolean canAccess(User user) {
        return user.getRole().equals("Admin") ||
                 user.getRole().equlas("Autre");
      }
     
      public User identify(String login, String password) {
        return userDao.getUser(login, password);
      }
     
    }
    Il ne te reste plus qu'a jouer avec ça dans ton controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public class AuthenticationFormControler .. {
      public void methodeAppelee(Parametres..) {
         String login = parametres.getLogin();
         String password = paramatres.getPassword();
         User user = authenticationService.identify(login password);
         if ( user != null ) {
           if ( authenticationService.canAccess(user) ) {
               // Ok ..
           } else {
              // PAS LES DROITS SUFFISANTS
           }
         } else {
           // PAS IDENTIFIE
         }
      }
    }
    Dernière modification par Invité ; 21/05/2008 à 12h49.

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Par défaut
    Bonjour,
    Merci beaucoup , et enfin j'ai un exemple .
    Je vais tester ça selon mes besoins.
    Merci beaucoup.

  4. #4
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Il faut ensuite, que tu place un attribut dans ta session pour vérifier que l'utilisateur est bien loggé dans toutes les actions de ton appli.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Un petit tag résolu alors.. Merci

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Par défaut
    Bonjour,
    je sais que c'est une question bête mais comment je vais récupérer les champs de login et password saisis par le user dans l'interface d'authentification pour la comparer avec l'objet dans la classe UserDAO.
    Merci beaucoup.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ben tout dépend de ton application.

    Si c'est du web tu vas créer un formualire html et récupèrer via l'objet HttpRequest.getAttribute("no_champ_login")

    Si c'est une application Swing tu auaras un JTextField et un JPasswordField sur lesqueles tu peux respectivement faire getText() et getPassword()

  8. #8
    Membre averti
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Par défaut
    Bonjour,
    merci beaucoup pour vos aides.
    Mais je veux savoir où je dois faire appeler la méthode "methodeAppelee(Parametres..) " qui se trouve dans la classe AuthenticationFormControler ? en d'autre terme cette méthode sera appelée par la méthode "execute" de "AuthentificationAction" ou dans la méthode "validate" de la méthode "AuthentificationForme"?
    Sauf si je n'ai pas bien compris

    Merci d'avance.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Déjà, si tu nous précisait si tu as une application Swing ou web, ce serais plus simple.

  10. #10
    Membre averti
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Par défaut
    Bonjour,

    désolée mais j'ai précisé dès le début que mon application est une application web avec struts c'est pour ça que je n'ai pas remarqué votre question .

    Merci d'avance.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Autant pour moi, je ne me souvenais plus.

    Si tu utilise Struts, ta question serais alors plus appropriée dans le forum de Struts : http://www.developpez.net/forums/forumdisplay.php?f=299

Discussions similaires

  1. Application web avec hibernate et SPRING3
    Par mezsanno dans le forum Spring
    Réponses: 4
    Dernier message: 15/03/2012, 16h25
  2. Application Web avec SJSC sur Unix
    Par diamonds dans le forum Administration système
    Réponses: 1
    Dernier message: 22/09/2006, 20h51

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