|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre éclairé
![]() Patrick developpeur amateur dans mon cadre professionnel Inscription : juin 2006 Messages : 499 ![]() |
Bonsoir tout le monde,
je reviens à la charge avec un probleme de mot de passe. Dans une base relativement importante j'ai preparé un "module" de consultaion de données persos pour les utilisateurs, qui sont autour de 80 personnes. Afin que chacun ne puisse scruter que les infos le concernant, j'ai preparé un form de consultation reposant sur une requete avec comme critere de filtrage : [forms]![FiltreLogin]![login] dans le form de filtrage j'ai le script suivant qui permet de stocker les Logins/Password et apres routine de contrôle ouvre le form de consultation si OK. voici le script utilisé (merci BBIL) =================== Code :
Code :
=================== Vu le nombre d'utilisateurs, il me semblerait judicieux d'exploiter ma table personnel ou se trouve les noms et d'y rajouter une colonne "password" et de rassembler ces couples au moyen d'une requete ; plutot que de stocker 70 ou 80 ensembles Login/Password dans le script du formulaire de filtrage. Pour cela j'ai besoin d'aide pour modifier ce fameux script ou bien faut il repartir de zero ? Merci d'avance aux ames genereuses et surtout competentes du forum ! Balises de code mises. je te laisse y penser pour les prochaines fois |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
Bonjour,
Dans un programme, j'ai déjà créé un truc dans votre genre qui nécessite : 1) un formulaire de connexion 2) une table qui sauvegarde les login/password et groupe d'utilisateur 3) un formulaire qui permet de modifier selon le groupe d'utilisateur auquel on appartient : USER : ne peut changer que son mot de passe SUPERUSER : permet en plus d'ajouter des users et de désactiver un user, etc ADMIN : peut tout faire dans la table <utilisateurs> , les mots de passe sont cryptés, les logins sont uniques et les tables sont sur un serveur. la fonction pour tester le login du formulaire de connexion peut ressembler à ça avec fermeture du formulaire de connexion seulement: Code :
Philippe |
||
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
salut,
http://access.developpez.com/faq/?page=TAAdmin#login Et pour pousser un peu plus loin http://access.developpez.com/faq/?pa...eral#SecuUsers |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
en effet, c'est plus simple à répondre comme ça...
amicalement, Philippe |
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Patrick developpeur amateur dans mon cadre professionnel Inscription : juin 2006 Messages : 499 ![]() |
bonjour Philippe,
je te remercie pour ta reponse. j'ai créé une table "Utilisateurs" avec les champs : Index(clé NumeroAuto) Login PW (avec masque de saisie en mot de passe dans les propriétés du champ au niveau de la table) Le formulaire "ControleAcces" avec 2 champs independants : - Login qui est alimenté par une liste deroulante des utilisateurs pris dans la table. avec masque de saisie en mot de passe dans les propriétés du champ au niveau du form. J'ai placé ton code dans le formulaire "ControleAcces" mais j'ai la msgbox d'erreur suivant quand je le lance : ================ L’expression Sur clic entrée comme paramètre de la propriété de type événement est à l’origine d’une erreur. Sub ou Function non définie. * Le résultat de l’expression n’est pas le nom d’une macro, le nom d’une fonction définie par l’utilisateur ou [Event Procedure ]. * Une erreur a peut-être été commise lors de l’évaluation d’une fonction, d’un événement ou d’une macro. ==================== Alors dans cette ligne : sSql = "SELECT * FROM Utilisateurs WHERE uti_actif = true AND uti_login = '" & Me.Login & "'" peux-tu me dire à quoi correspondent uti_actif et uti_login et à quoi sert le petit "s" placé devant SQL ? Merci d'avance. Patrick |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
Bonjour,
Citation:
uti_actif est un champ oui/non qui permet à un SuperUser ou un Administrateur d'activer ou de désactiver un utilisateur. Si un utilisateur est désactivé, il ne pourra plus se logger. le champ uti_login est un champ texte qui contient le login de l'utilisateur. le petit s devant SQL fait partie d'une convention d'écriture des variables. en voyant seulement sSql, je sais qu'il s'agit d'une variable String (s comme string). Cette convention s'étend bien sûr à l'ensemble des types de variables (Il y a un excellent tutoriel à ce sujet rédigé par notre maitre spirituel sur le site). sSql est donc la requête qui va ouvrir la table des utilisateurs et recherche le mot de passe du login saisie par l'utilisateur. Si uti_actif est faux pour ce login, son enregistrement n'est pas retourné par la requête. N'hésite pas si tu as d'autres questions. Philippe |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Patrick developpeur amateur dans mon cadre professionnel Inscription : juin 2006 Messages : 499 ![]() |
salut Philippe,
Super genial... ça marche Ton script est super bien commenté. Juste 2 petites choses : - je me suis permis d'enlever le champ uti_actif because je n'en ai pas l'utilité. - J'ai dû remplacer : If rst("uti_mdp") = EncDecrypt(Me.PW) par : If rst("uti_mdp") = Me.PW car mes passwords ne sont pas cryptés, ils sont juste masqués par les étoiles. C'est sans doute interressant à etudier, mais sans detour... certainement trop ardu pour mon neurone. Encore merci pour ta precieuse collaboration. Patrick |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
Merci Patrick, sympa ton message !
|
|
00
|
Copyright © 2000-2012 - www.developpez.com