Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2011, 20h42   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 70
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juin 2007
Messages : 70
Points : 12
Points : 12
Par défaut Formulaires avec accès sécurisés

Bonsoir
Je dois améliorer une base access existante (uniquement des tables, des requettes) afin que tout le monde puisse l'utiliser en créant une série de formulaires.
Cà! je sais faire.
Mon soucis est que l'on veux créer des profils :
  • Lecteur = simple utilisateur uniquement lecteur de la base (modif impossible)
  • Modificateur = peux modifier les données de la base
  • Administrateur = tous les droits (modif de structure...)
J'aimerais depuis un formulaire en autorun proposer en direct des boutons de consultation ou d'impression d'état, mais aussi d'autres boutons protégés par MdP :
  • ou rentrer dans les mêmes formulaires mais en permettant les modifications
  • ou sortir du formulaire d'entrée afin de pouvoir modifier la structure de la base
Malgré une recherche sur notre ami Goog.., je n'ai pas trouvé mon bonheur. Les sites trouvés parlent de la protection de la base (par le menu Access), j'ai essayé... mais je trouve pas son utilisation simple pour les futurs gestionnaires (je ne serais l'utilisateur de cette base)
Merci pour votre aide

Stephane
stefane26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 10h29   #2
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
Bonjour,

Je n'ai jamais fait ce genre de choses et je ne sais pas si ce que je vais dire t'aidera, mais personnellement je procéderai de la façon suivante (sous access 2003) :

- Je récupère le nom de l'utilisateur/de sa session avec deux fonctions dans un module (ça, déjà fait... p-e grâce à dev.com, je ne me souviens plus) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Public Function Wnd_NomMachine() As String
    Dim Buffer As String
    Buffer = String$(255, 0)
    If GetComputerName(Buffer, 255) <> 0 Then
        Wnd_NomMachine = Mid(UCase(Left$(Buffer, InStr(1, Buffer, Chr(0)) - 1)), 1, 10)
    Else
        Wnd_NomMachine = ""
    End If
End Function
 
 
Public Function Wnd_user_name()
    Dim Nom As String, x As Variant
    Nom = Space(255)
    x = GetUserName(Nom, 255)
    Wnd_user_name = Left(Trim(Nom), Len(Trim(Nom)) - 1)
End Function
- A partir de là, je rechercherais dans une table le profil correspondant. Par exemple, une table avec les colonnes suivantes :
  • ID_utilisateur
  • Nom_utilisateur
  • Profil_utilisateur (integer ?)

On récupère donc le profil (par exemple 1, 2, 3 vu que tu as 3 profils possibles).

- Tu crées une table avec les noms de tous tes contrôles et leur profil "minimum" pour être accessibles (un contrôle avec 2 pour profil assigné peut donc être vu par un modificateur ou un admin, mais pas par un lecteur).

- Et enfin, tu requêtes sur cette dernière table pour récupérer tout son contenu puis, en parcourant un par un tes contrôles, tu verrouilles/rends invisible selon le numéro obtenu.

D'ailleurs, par précaution, je commencerai avec tous les contrôles grisés/invisibles à l'ouverture du formulaire, et je les rendrais actifs selon le profil (pas l'inverse... si un plantage/tu oublies un contrôle, il sera rendu accessible à tous... mieux vaut tous les rendre inaccessibles de base, je pense). A la limite, laisse accessibles les boutons que tout le monde doit pouvoir voir (boutons de "lecture" donc).


Sinon, pour coller davantage à ton idée, bah... :
- Sur clic du bouton, tu ouvres un form "F_Verif_MDP" dans lequel il n'y a que deux champs "ID" et "MDP". Tu ajoutes par exemple un champ invisible avec le nom de la procédure à exécuter si le mot de passe est correct.
- L'utilisateur s'identifie et clique sur "Ok".
- Tu requêtes pour vérifier le mdp et l'id de l'utilisateur.
- Si la vérification retourne "True", tu exécutes la procédure stockée dans ton champ invisible. Sinon, tu retournes au formulaire de base.
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h51.


 
 
 
 
Partenaires

Hébergement Web