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 31/08/2011, 09h52   #1
Nouveau Membre du Club
 
Homme
ingénieur essais électronique
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : ingénieur essais électronique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 37
Points : 37
Par défaut connaitre le groupe d'appartenance de l'utilisateur mdw

Bonjour,

J'ai trouvé comment connaitre le nom d'utilisateur de la base à cet endroit.

http://access.developpez.com/faq/?page=user#currentUser

Mais je voudrais connaitre le groupe d'appartenance de cet utilisateur dans le mdw afin d'afficher tel ou tel bouton suivant le groupe et non suivant l'utilisateur.

Y a t il une fonction vba pour ca ? si oui laquelle ?
sylv20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 10h54   #2
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bonjour,

Ce bout de code tiré du tuto de loufab devrait t'aider. Il permet de liste les groupes d'utilisateur. Il faudra le modifier et l'adapter à tes besoins

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub lstGrpUsr()
    Dim Wrk As Workspace
    Dim Grp As DAO.Group
    Dim Usr As DAO.User
 
    Set Wrk = DBEngine.Workspaces(0)
 
    With Wrk
 
        Debug.Print "Groupes :"
 
        For Each Grp In .Groups
            Debug.Print "  " & Grp.Name
            Debug.Print "   Contient les membres suivants:"
 
            If Grp.Users.Count <> 0 Then
                For Each Usr In Grp.Users
                    Debug.Print "    " & Usr.Name
                Next Usr
            Else
                Debug.Print "    Aucun Membre"
            End If
 
        Next Grp
 
    End With
End Sub
Bien cdt
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 11h27   #3
Nouveau Membre du Club
 
Homme
ingénieur essais électronique
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : ingénieur essais électronique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 37
Points : 37
C'est dingue qu'il n'existe pas une simple ligne de code pour obtenir cette info qui me semble importante.

ENfin bref je regarde à ce code. Merci
sylv20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 11h54   #4
Nouveau Membre du Club
 
Homme
ingénieur essais électronique
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : ingénieur essais électronique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 37
Points : 37
Bon ok.

Je viens de comprendre pourqui il n'existe pas une fonction toute faite. Tout simplement par le fait qu'un utilisateur appartient a plusieurs groupe (ex tous les utilisateurs appartiennet au groupe utilisateurs qui n'a aucun droit).

Du coup je galere un peu avec les for each et tout le tralala. Il faudrait que je prenne le groupe qui as le plus de droit. Bien chaud !!!

Peut etre que mon idée de récupérer les groupes n'est pas la bonne méthode.

Je comptais récupérer les groupes pour afficher / masquer certains bouton que les autres utilisateurs ne voient pas (ex : deconnexion utilisateur, ajouter proto...).

Comment feriez vous ca ?

PS: A l'heure actuele, j'utilise le nom d'utilisateur mais si un jour toto rejoint le groupe développeur (groupe qui as tous les droits dans mon applis) et bien je voudrais que les boutons qu'il doit pouvoir voir fonctionne sans avoir a rajouter un :

Code :
1
2
3
4
5
 
 
...or str_utilisateur="toto" then
 
txt_test.visible=True
sylv20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 18h24   #5
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

regarde si la fonction que j'ai posté ici peut t'aider.
Elle teste si CurrentUser() appartient au groupe fournit en argument.

A+
LedZeppII est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 08h46   #6
Nouveau Membre du Club
 
Homme
ingénieur essais électronique
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : ingénieur essais électronique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 37
Points : 37
Merci !!! Excélente fonction!!!!! Ca marche.

Je m'en sert mais finalement elle perd un peu de son interet car j'ai revu la sécurité de ma base et j'ai juste créer 4 utilisateurs portant le même nom que leur groupe.

Je ne savais pas que plusieurs personnes pouvaient se connecter à la base en même temps avec le même nom d'utilisateur.
sylv20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 11h37   #7
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

On le déduit facilement par l'utilisation d'une base non sécurisée. Tout le monde y accède avec le compte par défaut.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab 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 21h33.


 
 
 
 
Partenaires

Hébergement Web