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 23/02/2007, 18h57   #1
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
Par défaut Droits sur une base Access

Bonjour,

J'imagine que je probleme est tout con mais il me saoule depuis quatre semaines.

Soit A une société possédant une appli access (donnee.mdb) avec des forms (forms.mdb) et un fichier mdw avec les comptes. Lorsqu'on ouvre le fichier Access, on doit utiliser une paire de credentials du fichier mdw. normal.

Maintenant, moi je ne veux que le fichier Donnee.mdb SANS le reste. Je l'envoi donc sur ma machine et je l'ouvre. Deja c'est un fichier Acc2003 et j'ai Acc2007.
Ensuite je peux ouvrir n'importe quelle table et voir les données qu'elles contiennent car je suis loggué en tant qu'utilisateur "Admin".

Le probleme, c'est que j'ai une appli web qui tape dessus SANS credentials et donc utilise aussi le compte Admin mais là, ca me dit clairement que je n'ai pas les droits de "read" la table. Pas grave, il me suffit d'aller dans Database Tools > autorisations et de mettre les droits de lectures.

et là ca prout. Je coche les cases mais je ne peux pas appliquer. Je dois deja avoir les droits "administrer" ou etre propriétaire pour modifier les autorisations. Bizarrement Admin n'a souvent aucun droit sur ces tables et quand je veux modifier le propriétaire, c'est un utilisateur "unknown" et ca me dit que je n'ai pas les droits pour modifier ca.

Comment puis-je m'en sortir? je tourne en rond là.
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 21h42   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 095
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 095
Points : 11 626
Points : 11 626
Bonjour,

lorsque la sécurité en place on prend les données et le fichier de sécurité (mdw) sinon ça ne peut que prouter...

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
Vieux 24/02/2007, 13h48   #3
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
le probleme est que quand je met le fichier mdw avec, il ne semble plus etre lié et le fichiers de données s'ouvre directement et me log tjs en tant qu'Admin.
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 15h05   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
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 941
Points : 6 283
Points : 6 283
Bonjour,

Ce lien vers la faq montre comment se lier au fichier mdw avec un raccourci.

Je ne sais pas par quel moyen ton appli web se connecte à la base Access, mais il y a surement un moyen de préciser le fichier mdw.
Exemple (partiel) en VBA+ADO de chaîne de connexion ADO où le fichier sécurité est précisé.
Code :
1
2
3
4
PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA SOURCE=E:\E\bd_3.mdb;
PERSIST SECURITY INFO=FALSE;
Jet OLEDB:System database=E:\E\ACCSECUR.mdw
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 17h57   #5
Invité régulier
 
Inscription : octobre 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 22
Points : 8
Points : 8
J'ai rencontré un problème semblable au tien. Le problème c'est que si tu enlèves pas les pouvoirs au compte administrateur, il les conserve tous car le fichier system.mdw par défaut lui confère tous les droits. Il faut les enlever à partir de la base de données.

Va sur ce site http://loufab.developpez.com/securite/ et lit le document au complet. C'est long mais ça en vaut la peine! Tu verras qu'après avoir créer le superutilisateur, il faut enlever les pouvoirs à administrateur. Afin de faire ça, il faut bien sur nommer superutilisateur comme propriétaire, ref IX-D. Propriétaire.

X. - Mot de passe et dégradation expliquer comment enlever les pouvoirs à Administrateur.

En espérant que ça t'aide.

Bonne journée
zangel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 21h07   #6
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
alors mon appli web est sur un hebergeur et donc je ne controle pas la connexion. cest une connexion DSN mais je ne peux pas préciser le fichier mdw. en tout cas pas dans les exemples qu'il donne et j'ai pas vu de chaine de connexion web pouvant préciser le mdw.

moi s'il se connecte avec le compte Admin qui a les droits sur les tables ca me va mais actuellement ce compte Admin n'a pas de droits du tout
tanpis jvais faire ca à la cochonou

merci
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2007, 20h18   #7
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
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 941
Points : 6 283
Points : 6 283
Bonsoir,

Je suppose que c'est donc une connexion ODBC.
Je me suis livré à quelques tests dans Excel pour exécuter une requête via ODBC dans une base Access.
  La base (sécurisée - Admin n'a aucun droits) : E:\E\ACCSECUR.mdw
  Le fichier sécurité (mdw) : E:\E\ACCSECUR.mdw
  User : TestUser
  Password : 123
1. Avec DSN complet (base Access, fichier mdw, UserID, PWD)
Code vba :
1
2
3
4
5
6
7
8
9
Dim qt As Excel.QueryTable
' Ma feuille Excel a déjà une requête
' Je vais modifier sa connexion et sa requête SQL
Set qt = Me.QueryTables(1)
 
qt.Connection = "ODBC;DSN=MSACC-BD_3;"
 
qt.CommandText = "SELECT * FROM Table2"
qt.Refresh
2. Avec DSN partiel (seulement la base Access)
Code vba :
1
2
3
4
5
6
7
8
9
Dim qt As Excel.QueryTable
 
Set qt = Me.QueryTables(1)
qt.Connection = "ODBC;DSN=MSACC-BD_3_2;" & _
                "SystemDB=E:\E\ACCSECUR.mdw;" & _
                "UID=TestUser;PWD=123;"
 
qt.CommandText = "SELECT * FROM Table2"
qt.Refresh
3. Sans DSN
Code vba :
1
2
3
4
5
6
7
8
9
10
11
Dim qt As Excel.QueryTable
 
Set qt = Me.QueryTables(1)
 
qt.Connection = "ODBC;Driver={Microsoft Access Driver (*.mdb)};" & _
                "DBQ=E:\E\bd_3.mdb;" & _
                "SystemDB=E:\E\ACCSECUR.mdw;" & _
                "UID=TestUser;PWD=123;"
 
qt.CommandText = "SELECT * FROM Table2"
qt.Refresh
En espèrant que ça t'aide à trouver une solution moins "cochonou"
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h21.


 
 
 
 
Partenaires

Hébergement Web