|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Florent SIEBERTAdministrateur de base de données Inscription : juin 2012 Messages : 528 ![]() |
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 |
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
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. |
|
|
00
|
|
|
#4 |
![]() ![]() |
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 de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 ! |
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
comment je peux faire ça ?
|
|
|
00
|
|
|
#6 |
![]() ![]() |
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 de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 ! |
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
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 |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Développeur java, access, sql server Inscription : octobre 2005 Messages : 1 382 ![]() |
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
__________________
·· −· −−· ·· ·−· ··− −− ·· −− ··− ··· −· −−− −·−· − · · − −·−· −−− −· ··· ··− −− ·· −− ··− ·−· ·· −−· −· ·· D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser. First, make it work. Then, make it fast. Finally, make it user-friendly. Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich. |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
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? |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Développeur java, access, sql server Inscription : octobre 2005 Messages : 1 382 ![]() |
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
__________________
·· −· −−· ·· ·−· ··− −− ·· −− ··− ··· −· −−− −·−· − · · − −·−· −−− −· ··· ··− −− ·· −− ··− ·−· ·· −−· −· ·· D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser. First, make it work. Then, make it fast. Finally, make it user-friendly. Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich. |
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
Est ce que vous pouvez me donner un exemple du code pour la classe MyConnexionClass pour que je puisse comprendre ton idée.
Merci. |
|
|
00
|
|
|
#12 | ||||
|
Membre Expert
![]() Développeur java, access, sql server Inscription : octobre 2005 Messages : 1 382 ![]() |
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 :
Code :
(pour le code réel il faut naturellement, utiliser des PreparedStatement pour les requêtes)
__________________
·· −· −−· ·· ·−· ··− −− ·· −− ··− ··· −· −−− −·−· − · · − −·−· −−− −· ··· ··− −− ·· −− ··− ·−· ·· −−· −· ·· D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser. First, make it work. Then, make it fast. Finally, make it user-friendly. Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich. |
||||
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Inscription : novembre 2007 Messages : 305 ![]() |
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!!!!!
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Développeur java, access, sql server Inscription : octobre 2005 Messages : 1 382 ![]() |
J'ai mal rédigé la déclaration de classe. Il faut la déclarer public :
si tu n'y arrives toujours pas, poste le code où ça coince.
__________________
·· −· −−· ·· ·−· ··− −− ·· −− ··− ··· −· −−− −·−· − · · − −·−· −−− −· ··· ··− −− ·· −− ··− ·−· ·· −−· −· ·· D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser. First, make it work. Then, make it fast. Finally, make it user-friendly. Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com