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 30/08/2007, 15h26   #1
Invité de passage
 
Inscription : mai 2007
Messages : 133
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 133
Points : 4
Points : 4
Par défaut Droits d'accès - Code VBA

Bonjour à tous,

Je développe une base de données qui gère les droits d'accès des utilisateurs.
La base contient une barre de menus personnalisée pour effectuer différentes procédures.

L'idée que j'ai est d'interdire d'exécuter le code lié à une procédure (code VBA permettant d'ouvrir un formulaire) correspondant à une rubrique de la barre de menus.

Quelqu'un peut-il m'aider et me dire comment peut-on arriver à mettre en place mon idée ?

(La création des groupes et des utilisateurs est déjà faite)

Merci pour vos réponses.
ade94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h32   #2
Nouveau Membre du Club
 
Avatar de Oceliane
 
Étudiant
Inscription : mars 2007
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 66
Points : 27
Points : 27
En gros, en fonction du groupe d'utilisateur, tu affiches ou pas un menu?

Dans ce cas, 2 petites aides au niveau des FAQ:
http://access.developpez.com/faq/?pa...n#VerifGpeUser
http://access.developpez.com/faq/?page=user#EstAdmin

Tu peux ensuite paramétrer l'attribut "Visible" des boutons de ton menu en fonction du groupe d'utilisateur.

j'espère que ça t'aidera...
Oceliane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h39   #3
Invité de passage
 
Inscription : mai 2007
Messages : 133
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 133
Points : 4
Points : 4
En fait, en fonction du groupe dans lequel appartient l'utilisateur, il aura le droit ou non d'accèder à un sous-menu appartenant à un menu.

Comment peut-on en VBA (syntaxiquement) dire que si un utilisateur appartient à tel groupe alors le sous-menu "Modifier" est grisé ou invisible ?

Merci
ade94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 09h20   #4
Nouveau Membre du Club
 
Avatar de Oceliane
 
Étudiant
Inscription : mars 2007
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 66
Points : 27
Points : 27
Eh bien, ce que je te conseille, c'est de mettre par défaut tous les champs ou menus que tu désire masquer à "Invisible" dans le formulaire. ensuite, il te suffit d'effectuer un test en utilisant l'un des 2 modèles donnés dans la FAQ citée ci-dessus.

Un exemple avec le premier lien:

Code :
1
2
3
4
5
6
7
8
9
Dim Utilisateur As DAO.User, MonGroup As DAO.Group
 
Set Utilisateur = DBEngine.Workspaces(0).Users(DBEngine.Workspaces(0).UserName)
For Each MonGroup In Utilisateur.Groups
    If MonGroup.Name = "Admins" Then
   Me.mon_bouton_à_masquer_ou_afficher_en_fonction_du_groupe.Visible = True
        Exit For
    End If
Next

Exemple avec le second lien:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim esp As Workspace
Dim strUser As String
 
On Error Resume Next
strUser = Application.CurrentUser
Set esp = DBEngine.Workspaces(0)
 'L'instruction suivante provoque ou non une erreur
strUser = esp.Users(strUser).Groups("admins").Name
 
If Err.Number = 3265 Then   
    'élément non trouvé dans cette collection, l'utilisateur n'est pas administrateur
ElseIf Err.Number > 0 Then 
   'autre erreur
ElseIf Err.Number = 0 Then 
   'l'utilisateur appartient au groupe 'administrateur'
   Me.mon_bouton_à_masquer_ou_afficher_en_fonction_du_groupe.Visible = True
End If
l'avantage de la première méthode est qu'elle permet de programmer l'affichage pour plusieurs groupes d'utilisateurs différents ( en mettant des "or" dans le test)

J'espère t'avoir été utile.

Rémi
Oceliane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 14h27   #5
Invité de passage
 
Inscription : mai 2007
Messages : 133
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 133
Points : 4
Points : 4
Merci Rémi. Ton code m'a beaucoup aidé
Maintenant je sais comment griser certaines rubriques de ma barre de menus en fonction du groupe auquel appartient l'utilisateur qui se connecte à la base.
ade94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 09h10   #6
Nouveau Membre du Club
 
Avatar de Oceliane
 
Étudiant
Inscription : mars 2007
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 66
Points : 27
Points : 27
Heureux de t'avoir aidé!

(PS: n'oublie pas l'étiquette si tu n'as plus de problêmes!)
Oceliane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 09h59   #7
Invité de passage
 
Inscription : mai 2007
Messages : 133
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 133
Points : 4
Points : 4
D'accord, je n'oublierais pas.
Mais avant de faire ça, j'ai une toute dernière question.
Comment peut-on griser tous les menus contextuels d'une barre de menus (sans griser la barre de menus entièrement) ?

Merci pour vos réponses
ade94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 10h04   #8
Nouveau Membre du Club
 
Avatar de Oceliane
 
Étudiant
Inscription : mars 2007
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 66
Points : 27
Points : 27
griser ou masquer les menus?

En gros, tu souhaiterais qu'on ne puisse pas cliquer dessus, mais qu'ils restent visibles, c'est bien ça?
Oceliane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 10h10   #9
Invité de passage
 
Inscription : mai 2007
Messages : 133
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 133
Points : 4
Points : 4
Oui, voilà (utiliser la méthode enabled=false). En fait, ma barre de menu contient x menus contextuels (ou sous-menu). Chaque menu contextuel peut contenir ou non 1 menu contextuel.

Au final, j'aimerais griser tous les menus contextuels de la barre de menu.
ade94 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 23h45.


 
 
 
 
Partenaires

Hébergement Web