/** * Utilisateur est la classe qui représente un utilisateur de l'application * * Un utilisateur est caractérisé par les informations suivantes : * * <li>un login</li> * <li>un mot de passe permettant de s'autehntifier</li> * <li>une liste de droits associes</li> * * * * * * * @author Julien * @version 1.0 */ public class Utilisateur { /** * droits de l'utilisateur du site */ private List<Droit> droits; /** * Le login de l'utilisateur (son idep) */ private String login; /** * Le mot de passe associe au login */ private String password; /** * Constructeur d'un utilisateur * * Ce constructeur permet de creer un utilisateur * * @param droits * Les droits de l'utilisateur * @param login * Le login de l'utilisateur * @param password * Le mot de passe associé */ public Utilisateur(List<Droit> droits, String login, String password) { super(); this.droits = droits; this.login = login; this.password = password; } public List<Droit> getDroits() { return droits; } public String getLogin() { return login; } public String getPassword() { return password; } /** * @param droits * the droits to set */ public void setDroits(List<Droit> droits) { this.droits = droits; } }
/** * UtilisateurDao represente une classe d'acces a la table UTILISATEUR * * Cette classe permet de selectionner des lignes de la table UTILISATEUR * * * @author Julien * @version 1.0 */ public class UtilisateurDao { /** * Instance de Utilisateur Dao */ private static UtilisateurDao instance; /** * Connexion a l'annuaire */ private IConnexion connexion = Annuaire.getInstance(); private String pwd=ParametresTables.pwd.name(); private String idep=ParametresTables.idep.name(); private String idbp=ParametresTables.idbp.name(); /** * Constructeur */ public UtilisateurDao(IConnexion c) { super(); connexion=c; } /** * Fonction qui retourne un utilisateur grace a son identtifiant * @param id * L'identifiant recherche * @return * L'utilisateur correspondant */ public IUtilisateur getUtilisateurById(String id){ connexion.ouvrir(); IUtilisateur u = null; String requete="SELECT * FROM UTILISATEUR"+ " WHERE UTILISATEUR."+idep+"='"+id+"'"; ResultSet res=connexion.executeQuery(requete); try { if(res!=null && res.next()){ u=reconstituerUtilisateur(res); } } catch (SQLException e) { e.printStackTrace(); } return u; } /** * Fonction qui verifie les mots de passe * @param id * l'identifiant entre * @param pwd * le mot de passe entre * @return * vrai si le mot de passe correspond a l'id et faux sinon */ public boolean isPwdCorrect(String id,String pwd){ IUtilisateur u=getUtilisateurById(id); return u!=null && u.getPassword().equals(pwd); } /** * Fonction qui reconstitue un utilisateur en fonction * d'une ligne de la resultset * @param res * La resultset * @return * L'utilisateur associe */ public IUtilisateur reconstituerUtilisateur(ResultSet res){ IUtilisateur u=null; try { if(res!=null){ List<Droit> lDroits =new ArrayList<Droit>(); lDroits.add(Droit.Consultation); if(res.getInt(idbp)==0){ lDroits.add(Droit.Modification); } u=new Utilisateur( lDroits, res.getString(idep), res.getString(pwd) ); } } catch (SQLException e) { e.printStackTrace(); } return u; } /** * Fonction qui permet de retourner l'instance d'utilisateurDao * @return * l'instance d'utilisateurdao */ public static UtilisateurDao getInstance(IConnexion c) { if(instance==null){ instance=new UtilisateurDao(c); } return instance; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question