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

Persistance des données Java Discussion :

Utilisateur connecté à la base


Sujet :

Persistance des données Java

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut Utilisateur connecté à la base
    Bonjour,

    J'ai une application qui utilise une base MySQL, j'ai rencontré un problème suite à l'idée de journaliser les opérations réalisées sur mes tables.
    Le problème c'est comment je peux avoir l'utilisateur réalisant une telle opération (dans une session).

    Merci pour les propositions.

  2. #2
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Bonjour,

    Je suppose qu'il ne s'agit pas du user MySQL (l'application se connecte toujours avec le même utilisateur) ?
    C'est un user Windows que vous voulez récupérer ? Le user de votre application ?

    Détaillez un peu

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    Merci pour la réponse.

    Je cherche comment récupérer le user de l'application.
    J'ai une table d'utilisateurs, je veux l'identifiant de l'utilisateur connecté à l'application.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ben il faut que ce soit l'application qui connaisse cette information. Le SGBD ne pourra jamais le savoir tout seul !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    comment je peux faire ça ?

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Classiquement, l'identifiant de l'utilisateur de l'application est un truc qu'on balade de page en page et/ou en session et/ou en cookie car on a souvent besoin de lui pour vérifier les droits de l'utilisateur sur le contenu affiché ou sur les actions possibles de la page affichée ou justement pour attacher du contenu saisi à l'utilisateur qui l'a saisi.

    Mais ça concerne plus le langage applicatif que MySQL qui ne fait que stocker des données.

    Quel langage utilisez-vous pour développer l'application ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    Merci pour la réponse.

    J'utilise le langage Java pour le développement d'une application Desktop. L'utilsateur est autorisé à se connecter après correspondance entre les informations saisies (login et mot de passe) et celles enregistrées dans la base de données

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Comme il s'agit d'une application en réseau local, le plus simple :
    après connexion par l'utilisateur, enregistrer son nom dans une variable String "public static" de la classe qui sert à la connexion.
    Si la classe s'appelle par exemple "MyConnexionClass" et la variable "USER" alors on accède depuis n'importe quel endroit de l'application avec
    MyConnexionClass.USER
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    Merci Népomucène pour la réponse,

    je n'ai pas compris bien ce que tu as écrit,

    tous les utilistateurs de l'application se connecte à la base de données par un seul identifiant par exemple "root", mais j'ai enregistré les utilsateurs dans une table pour les identifier sur un écran avant de les permettre de manipuler les données de la base.

    Ici je veux si l'utilisateur x est identifié je cherche comment récupérer cette information?

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    tu déclares la variable USER comme public static dans la classe de connexion
    (ou une autre classe de l'application)

    l'utilisateur "Arthur" est identifié au moment de sa connexion
    tu fais :
    MyConnexionClass.USER = "Arthur"

    plus tard quand tu dois identifier qui a fait quoi en enregistrant des données,
    par exemple "qui a modifié une fiche client"
    tu peux inclure le nom de l'utilisateur dans ta requête UPDATE
    en mettant à jour un champ contenant le nom de l'utilisateur
    ce nom d'utilisateur tu le récupères dans MyConnexionClass.USER
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  11. #11
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    Est ce que vous pouvez me donner un exemple du code pour la classe MyConnexionClass pour que je puisse comprendre ton idée.

    Merci.

  12. #12
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Tu as déjà un écran pour que l'utilisateur puisse se connecter
    tu récupère donc son nom pour contrôler son existence dans la base (en concordance avec le mot de passe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class MyConnexion {
    ....
    méthodes diverses
    ...
    private void userControl(String nomUtilisateur, String motDePasse) {
      ...
      contrôle dans la base de nomUtilisateur + motDePasse
      ...
      // tu ajoutes : 
      USER = nomUtilisateur ;
    }
    public static String USER;     // USER est visible dans toute ton application
    }
    dans une autre classe qui enregistre, par exemple, une fiche article :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String sql = "INSERT INTO Articles (Id, Label, User) VALUES (123,'bidule','" + MyConnexion.USER +"')";
    c'est le principe général de récupération de l'utilisateur en cours
    (pour le code réel il faut naturellement, utiliser des PreparedStatement pour les requêtes)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  13. #13
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Points : 179
    Points
    179
    Par défaut
    Merci Népomucène pour le code, j'ai essayé avec ce code mais je n'arrive plus à accéder au variable "USER" par la classe de connexion!!!!!

  14. #14
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    J'ai mal rédigé la déclaration de classe. Il faut la déclarer public :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class MyConnexion { ...
    si tu n'y arrives toujours pas, poste le code où ça coince.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Visualiser les utilisateurs connectés à une base
    Par mballasse dans le forum Débuter
    Réponses: 9
    Dernier message: 12/01/2011, 16h25
  2. [AC-2003] Connaitre la liste des utilisateurs connectés à ma base [ACCESS POSTGRESQL]
    Par flet le kid dans le forum Sécurité
    Réponses: 5
    Dernier message: 10/07/2009, 11h51
  3. Liste des utilisateurs connectés à une base (serveur TSE)
    Par e040098k dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/07/2007, 12h24
  4. recuperer le nom d'utilisateur connecté à la base access
    Par laurent.w dans le forum Sécurité
    Réponses: 4
    Dernier message: 17/01/2007, 07h12
  5. Réponses: 2
    Dernier message: 05/01/2007, 19h19

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