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

Java Discussion :

Sauvegarde des noms des personnes authentifiées


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut Sauvegarde des noms des personnes authentifiées
    bonjour,
    j'ai fait une page d'authentification d'une application qui est liée a une base de donnée MYSQL pour confirmer le nom du personne qui a l'accés .je veux sauvegarder le nom du personne qui ,une fois, accède a l'application de facon que lorsque ce nom veut accéder a l'application la prochaine fois il trouve son nom sauvegarder sur le pc et évite la confirmation avec la base de données MYSQL.
    merci d'avance.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Il suffit de créer un fichier sur le PC après que l'utilisateur ait rentré ses informations et de réutiliser ce fichier (s'il existe) par la suite pour retrouver son "nom".

    Un fichier Properties par exemple.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Ou utiliser les préférences.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    merci pour votre réponse.Mais , je parle d'une application desktop et j'utilise le netbeans.

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par nabil123456 Voir le message
    merci pour votre réponse.Mais , je parle d'une application desktop et j'utilise le netbeans.
    Oui, on avait compris que c'était une application Desktop (cela dit en relisant la question, on aurait dû avoir des doutes et pencher plus pour une application web en fait)... et alors ? Par contre NetBeans IDE, Eclipse IDE, Intellij, ou autre, ça ne change rien, à priori. A moins que ça soit du Eclipse RCP, qui inclue sont propre support de préférences (les autres, je ne sais pas).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    Merci pour votre réponse. J'ai lu le lien http://java.developpez.com/faq/java/...refUtilisateur mais je ne sais pas où il faut mettre le code. Merci.

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Une partie (la sauvegarde) va se mettre après que l'utilisateur ait rentré ses informations et qu'elles soient confirmées.
    L'autre sera mise avant de lui demander (si la sauvegarde existe).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Comme dit @Wax78,

    2 aspects :

    • sauvegarder le nom entré par l'utilisateur dans une préférence : le code qui fait ça doit être mis à un endroit où on peut récupérer le nom saisi. Par exemple, ça peut être au même endroit où tu récupères le nom pour établir la connexion ;
    • Récupérer le nom sauvegardé dans les préférences, pour qu'il s'affiche par défaut dans le champ : on peut mettre le code qui fait ça dans le code qui construit le dialogue, au moment de créer le champ.


    Le plus simple pour toi est que tu fasses une classe avec 2 méthodes statiques : par exemple, void saveUserName(String userName) pour sauvegarde le nom de l'utilisateur dans les préférences, et String getLastUserName() pour lire le nom précédemment sauvegardé.

    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 AppPreferences {
     
    	private static final String USERNAME_PREFERENCE_KEY = "connection.lastusername"; // une clef pour la préférence, pour la retrouver (à toi de choisir le nom qui te convient)
     
    	public static void saveUserName(String userName) {
    		Objects.requireNonNull(userName, "User name could'nt be null."); // on refuse les null
    		if ( userName.trim().isEmpty() ) throw new IllegalArgumentException("User name couln't be empty."); // on refuse les chaines vides (éventuellement) 
    		Preferences prefs = Preferences.userRoot(); // on sauvegarde la préférence pour l'utilisateur actuel
    		prefs.put(USERNAME_PREFERENCE_KEY, userName); // on sauvegarde username dans la préférence
    	}
     
    	public static String getLastUserName() {
    		Preferences prefs = Preferences.userRoot(); // on récupère les préférences de l'utilisateur actuel
    		return prefs.get(USERNAME_PREFERENCE_KEY, ""); // on lit la préférence username 
    	}
     
    }
    Et à utiliser donc comme ça par exemple :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    public class LoginDemo extends JPanel {
     
    	private static final long serialVersionUID = 1L;
     
    	private JTextField userNameField;
    	private JPasswordField passwordField;
     
    	private JButton buttonLogin;
    	private JButton buttonCancel;
     
     
    	public LoginDemo() {
    		setLayout(new GridBagLayout());
    		Insets insets = new Insets(2,2,2,2);
     
    		add(new JLabel("Nom : "), new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.BASELINE_TRAILING, GridBagConstraints.NONE, insets, 0, 0));
     
    		userNameField = new JTextField( AppPreferences.getLastUserName(), 20 );
    		add(userNameField, new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, insets, 0, 0));
     
    		add(new JLabel("Mot de passe: "), new GridBagConstraints(0, 1, 1, 1, 1, 0, GridBagConstraints.BASELINE_TRAILING, GridBagConstraints.NONE, insets, 0, 0));
     
    		passwordField = new JPasswordField(20);
    		add(passwordField , new GridBagConstraints(1, 1, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, insets, 0, 0));
     
    		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    		add(buttonPanel , new GridBagConstraints(0, 2, 2, 2, 1, 0, GridBagConstraints.BASELINE, GridBagConstraints.BOTH, insets, 0, 0));
     
    		buttonLogin = new JButton("Connexion");
    		buttonLogin.setEnabled(false);
    		buttonPanel.add(buttonLogin);
    		buttonLogin.addActionListener(e-> connection());
     
    		buttonCancel = new JButton("Annuler");
    		buttonPanel.add(buttonCancel);
    		buttonCancel.addActionListener(e-> SwingUtilities.getWindowAncestor(this).dispatchEvent(new WindowEvent(
    				SwingUtilities.getWindowAncestor(this), WindowEvent.WINDOW_CLOSING)));
     
    		DocumentListener documentListener = new DocumentListener() {
     
    			@Override
    			public void removeUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			@Override
    			public void insertUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			@Override
    			public void changedUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			private void handleLoginButton() {
    				buttonLogin.setEnabled(!userNameField.getText().isEmpty()&&passwordField.getPassword().length!=0);
    			}
    		};
    		userNameField.getDocument().addDocumentListener(documentListener);
    		passwordField.getDocument().addDocumentListener(documentListener);
     
    	}
     
     
    	private void connection() {
    		String userName = userNameField.getText();
    		if ( !userName.isEmpty() ) {
    			char[] password = passwordField.getPassword();
    			if ( verifyPassword(userName, password) ) {
    				AppPreferences.saveUserName(userName);
    				doConnection(userName);
    			}
    		}
    	}
     
    	private boolean verifyPassword(String userName, char[] password) {
    		return ...; // tu fais la vérification du mot de passe
    	}
     
    	private void doConnection(String userName) {
    		// ce que tu dois faire...
    	}
     
    	public static void main(String[] args) {
     
    		JFrame frame = new JFrame("Démo connexion");
    	 	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.getContentPane().add(new LoginDemo());
    		frame.pack();
    		frame.setResizable(false);
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
     
    	}
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. récupérer la liste des noms des champs d'une table
    Par la_didise dans le forum Access
    Réponses: 2
    Dernier message: 29/05/2006, 16h55
  2. [XML] Norme des noms des éléments
    Par anaon dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 12/12/2005, 17h33
  3. [C#] Liste des noms des jours
    Par Oberown dans le forum C#
    Réponses: 9
    Dernier message: 07/11/2005, 11h38
  4. Affichage des noms des IDC_STATIC dynamiquement
    Par tonycalv dans le forum MFC
    Réponses: 6
    Dernier message: 11/09/2005, 16h07
  5. Comment obtenir la liste des noms des ordinateurs du réseau ?
    Par da_latifa dans le forum Web & réseau
    Réponses: 2
    Dernier message: 17/08/2005, 11h58

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