Identification dans Access
thedavix
Messages postés
466
Statut
Membre
-
blux Messages postés 27848 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27848 Date d'inscription Statut Modérateur Dernière intervention -
J'aimerai savoir si c'est possible de chopper le user qui s'est logué dans windows 2000 (par ex) dans access afin de faire des droits personalisé pour les différents formulaires
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
A voir également:
- Identification dans Access
- Entrer les informations d'identification reseau - Guide
- Supprimer identification instagram - Guide
- Identification instagram - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
7 réponses
blux
Messages postés
27848
Date d'inscription
Statut
Modérateur
Dernière intervention
3 360
Voui, mais il a fallu attendre 7 ans pour avoir une solution 20x plus simple...
Voui, t'as raison, avec les APIs :
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, NSize As Long) As Long
' Attention si Buff trop petit => Plantage
Dim Buff As String * 255
Dim NSize As Long
Dim Ret As Long
Dim UsrName As String
NSize = Len(Buff)
Ret = GetUserName(Buff, NSize)
UsrName = Left(Buff, NSize)
UsrName = Left(UsrName, Len(UsrName) - 1)
MsgBox UsrName
Et voilà !
Fais gaffe si tu veux faire une authentification avec ça, car si une personne se loggue sur un poste avec le nom d'un user sans se faire authentifier par un serveur de nom de domaine (*.pwl) et ben elle peut se faire passer pour qui elle n'est pas...
Tu peux aussi avoir le nom du PC avec :
Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, NSize As Long) As Long
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, NSize As Long) As Long
' Attention si Buff trop petit => Plantage
Dim Buff As String * 255
Dim NSize As Long
Dim Ret As Long
Dim UsrName As String
NSize = Len(Buff)
Ret = GetUserName(Buff, NSize)
UsrName = Left(Buff, NSize)
UsrName = Left(UsrName, Len(UsrName) - 1)
MsgBox UsrName
Et voilà !
Fais gaffe si tu veux faire une authentification avec ça, car si une personne se loggue sur un poste avec le nom d'un user sans se faire authentifier par un serveur de nom de domaine (*.pwl) et ben elle peut se faire passer pour qui elle n'est pas...
Tu peux aussi avoir le nom du PC avec :
Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, NSize As Long) As Long
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Comme tu veux !
Moi, je fais les déclarations dans un module en public, comme ça les variables sont accessibles dans tous les objets.
Et j'appelle la fonction à l'ouverture du premier formulaire (SurOuverture).
Pour des infos sur les APIs, tu fais une recherche google de WIN32.HLP, c'est le fichier qui décrit toutes les APIs 32 bits.
Je ne crois pas qu'il soit chez Kro$oft, mais il doit être chez Borland (livré avec DELPHI). Attention, il fait 7 Mo, le bougre !
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Moi, je fais les déclarations dans un module en public, comme ça les variables sont accessibles dans tous les objets.
Et j'appelle la fonction à l'ouverture du premier formulaire (SurOuverture).
Pour des infos sur les APIs, tu fais une recherche google de WIN32.HLP, c'est le fichier qui décrit toutes les APIs 32 bits.
Je ne crois pas qu'il soit chez Kro$oft, mais il doit être chez Borland (livré avec DELPHI). Attention, il fait 7 Mo, le bougre !
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Je ne pense pas qu'il soit possible de récupérer le login de windows. Par contre, ce que tu peux faire c'est créer une form de démarrage dans ton appli Access qui demande un login et un mot de passe. Tu créé une table qui contient les logins, mdp et profils à appliquer puis c'est parti ! Tu utilise ensuite ce login pour faire ce que veux.
Voilà !
Phil.
Voilà !
Phil.
c'est ce que je pensais aussi, mais j'avais entendu dire par un réseau "master" que c'était possible enfin bref.. je verrai merci
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
si c'est possible, sais plus comment mais c'est possible, soit recours API ou plus simple, j'ai oublié, sûrement API mais je suis certain d'avoir déjà vu ça...
vas toujours voir sur http://www.mvps.org/accessfr/ des fois que ce soit là que je l'ai vu... j'ai oublié où c'est mais ça doit se trouver....
kinder.surprise,
le maton du matou
vas toujours voir sur http://www.mvps.org/accessfr/ des fois que ce soit là que je l'ai vu... j'ai oublié où c'est mais ça doit se trouver....
kinder.surprise,
le maton du matou
très belle intervention de blux trouvé-je modestement!
faudra pas perdre l'uérelle de ce post...
kinder.surprise,
le maton du matou
faudra pas perdre l'uérelle de ce post...
kinder.surprise,
le maton du matou
On récapitule :
tu crées un module que tu appelles API (Par exemple)
tu recopies ça dedans :
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal
lpBuffer As String, NSize As Long) As Long
Ensuite, dans ton formulaire (car j'espère que tu bosses avec des formulaires). Tu crées un bouton.
Sur ce bouton tu attaches le code suivant dans la propriété 'SurCLic' :
' Attention si Buff trop petit => Plantage
Dim Buff As String * 255
Dim NSize As Long
Dim Ret As Long
Dim UsrName As String
NSize = Len(Buff)
Ret = GetUserName(Buff, NSize)
UsrName = Left(Buff, NSize)
UsrName = Left(UsrName, Len(UsrName) - 1)
MsgBox UsrName
Et comme ça, quand tu ouvres ton formulaire, et que tu appuies sur le bouton,
tu vois affiché le score de France-Danemark.
Meeeeuuuuuu nooooooooooon , j'déconne...
T'as d'la chance que je puisse te répondre au boulot, sinon, t'étais bon pour une nuit d'attente !!!
A+
Blux
PS : Kinder, arrête, tu me fais fondre... ;-))))))) (86°, pour gsx)
Le forum il est là pour ça, non ?
et pas que pour les délires...
Donc y faut qu'on mette une page avec les adresses des meilleures contribs.
Jeeeeffffffffff... ?!
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
tu crées un module que tu appelles API (Par exemple)
tu recopies ça dedans :
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal
lpBuffer As String, NSize As Long) As Long
Ensuite, dans ton formulaire (car j'espère que tu bosses avec des formulaires). Tu crées un bouton.
Sur ce bouton tu attaches le code suivant dans la propriété 'SurCLic' :
' Attention si Buff trop petit => Plantage
Dim Buff As String * 255
Dim NSize As Long
Dim Ret As Long
Dim UsrName As String
NSize = Len(Buff)
Ret = GetUserName(Buff, NSize)
UsrName = Left(Buff, NSize)
UsrName = Left(UsrName, Len(UsrName) - 1)
MsgBox UsrName
Et comme ça, quand tu ouvres ton formulaire, et que tu appuies sur le bouton,
tu vois affiché le score de France-Danemark.
Meeeeuuuuuu nooooooooooon , j'déconne...
T'as d'la chance que je puisse te répondre au boulot, sinon, t'étais bon pour une nuit d'attente !!!
A+
Blux
PS : Kinder, arrête, tu me fais fondre... ;-))))))) (86°, pour gsx)
Le forum il est là pour ça, non ?
et pas que pour les délires...
Donc y faut qu'on mette une page avec les adresses des meilleures contribs.
Jeeeeffffffffff... ?!
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Merci!!!!!!!!!!!! je viens de voir 2-0 pour le Danemark..... dès que j'ai appuyé sur le bouton!!
Ca marche c'est cool merci pour tes lumières..
juste si tu peux répondre. .mais c'est pas pressant ca marche avec windows 98 ce truc? car j'ai vu sur un site web un bou de code comme le tien (mais qui marche pas.. héhé) et qui marche que pour nt xp et 2000
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
Ca marche c'est cool merci pour tes lumières..
juste si tu peux répondre. .mais c'est pas pressant ca marche avec windows 98 ce truc? car j'ai vu sur un site web un bou de code comme le tien (mais qui marche pas.. héhé) et qui marche que pour nt xp et 2000
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
Alors, je te confirme :
ça tourne régulièrement là où je travaille :
en Win95, Win98, Win98 SE, Win NT...
pas testé sur ME, 2000 ni XP (ni VAX), mais vu que tu confirmes...
Ce sont les APIs Win32, donc depuis Win95 (et même 3.11 avec win32s), ça tourne.
TOUS les programmes y font régulièrement appel (y compris windows lui-même !)
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
ça tourne régulièrement là où je travaille :
en Win95, Win98, Win98 SE, Win NT...
pas testé sur ME, 2000 ni XP (ni VAX), mais vu que tu confirmes...
Ce sont les APIs Win32, donc depuis Win95 (et même 3.11 avec win32s), ça tourne.
TOUS les programmes y font régulièrement appel (y compris windows lui-même !)
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."