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 24/09/2004, 09h03   #1
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Par défaut Sécurité

Bonjour,

J'aurai besoin d'avis multiples sur le problème suivant.

J'ai conçu une application Access que j'aimerais mettre en réseau. Celon les profils qui se connectent, soit ils ont accès au manager d'access càd là où on voit les tables, les requêtes,les macros... soit ils voient uniquement le formulaire qui s'exécute au démarrage. J'ai écrit le script celon le profil, mais si le dernier profil a une autorisation 2, et que moi j'ai un profil avec autorisation 1, la première fois c'est autorisation 2, il faut que je sors et que j'entre à nouveau afin que mes paramètres s'adaptent.

Je ne sais pas si j'ai été clair.

Ma question est comment rendre mon appli multi-utilisateur car parfois j'ai un problème d'accès si trois personnes se connectent en même temps, Comment sauvegarder les paramètres des utilisateurs pour ne chaque fois sortir et entrer à nouveau?

Merci de vos avis.

Bien à vous.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 10h37   #2
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
La FAQ ne répond pas à ton pb ?
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 10h46   #3
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Je pense que je peux en tirer qqch.

Mais simplement je voulais avoir des avis, comment m'y prendre et sur quel point dois-je faire attention. Et quelle est la meilleure solution.

Merci de ton aide.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 10h48   #4
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
mais dis-nous comment tu gères ta sécurité d'abord stp
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 10h52   #5
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Je ne sais pas si le terme sécurité est bien utilisé.

Mon problème est expliqué dans mon premier post.

Je ne sais pas s'il est compréhensible.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 11h20   #6
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
ce que j'ai compris c'est que tu as mis en place ta propre securite alors qu'access te l'offre pratiquement toute faite.
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 11h47   #7
Membre Expert
 
Avatar de Papy Turbo
 
Homme Etienne Pailleret
Développeur VBA
Inscription : mars 2004
Messages : 748
Détails du profil
Informations personnelles :
Nom : Homme Etienne Pailleret
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Développeur VBA

Informations forums :
Inscription : mars 2004
Messages : 748
Points : 1 114
Points : 1 114
J'ai pas l'impression de tout comprendre, ni à la question exacte (il semble ??? que tu travailles par macro, pas par VBA ?), ni à certaines réponses ??

Bref, il faut que
- tu ailles dans Outils - Sécurité - Gestion des utilisateurs et des groupes...
- tu crées 2 ou 3 groupes : un par niveau d'autorisations,
- tu crées au moins un utilisateur par groupe, ou mieux : un utilisateur pour chaque personne qui ouvrira ton appli, puis tu mettras chacun dans l'un des groupes,
- à l'ouverture de l'appli,
++ tu exécutes une 1ère fonction genre InitApp(), en VBA,
++ tu y testes le groupe auquel appartient CurrentUser,
++ tu l'autorises à afficher la fenêtre Base de données ou pas, etc.
Papy Turbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 12h14   #8
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Salut Papy Turbo,

Merci de ton aide.

La gestion de mes users se fait par une table.

Je commence à mieux comprendre ta solution.

A ton avis, dois-je créer un MDE pour le placer en local?

Comment gérer la concurence d'accès?

Le problème que j'ai c'est si la dernière personne n'est pas autorisé de voir la fenêtre base de données et que moi je me connecte à cette base, je dois sortir et entrer pour voir apparaître à nouveau la fenêtre access.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 14h30   #9
Invité régulier
 
Inscription : août 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 15
Points : 5
Points : 5
a tu un exemple ou un endroit ds le site ou l'on peut trouver un exemple de function InitApp() je cherche ms trouve pas la mienne ne marche pas

merci
nenette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 14h33   #10
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Citation:
Envoyé par nenette
a tu un exemple ou un endroit ds le site ou l'on peut trouver un exemple de function InitApp() je cherche ms trouve pas la mienne ne marche pas

merci
c'est à toi de la construire ...
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 20h14   #11
Membre Expert
 
Avatar de Papy Turbo
 
Homme Etienne Pailleret
Développeur VBA
Inscription : mars 2004
Messages : 748
Détails du profil
Informations personnelles :
Nom : Homme Etienne Pailleret
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Développeur VBA

Informations forums :
Inscription : mars 2004
Messages : 748
Points : 1 114
Points : 1 114
Gourouni :
Essaye de prendre une question à la fois, parce que ça devient très confus...
Citation:
La gestion de mes users se fait par une table.
Explique ? Comprend pas. Tu stockes les noms et les droits des utilisateurs dans une table, dans la base centrale ?
Citation:
A ton avis, dois-je créer un MDE pour le placer en local?
Rien que là dedans, y a 2 questions :
- créer un MDE ne sert qu'à protéger ton code. On verra ça plus tard, quand on aura compris ce que tu veux et trouvé la meilleure solution.
- placer une base en local ? explique nous l'architecture : tu es en monoposte, en multi-utilisateurs sur un réseau local ? combien ?...
Citation:
Comment gérer la concurence d'accès?
Le problème que j'ai c'est si la dernière personne n'est pas autorisé de voir la fenêtre base de données et que moi je me connecte à cette base, je dois sortir et entrer pour voir apparaître à nouveau la fenêtre access.
Je ne vois pas le problème et je ne comprends pas bien ???
- c'est Access qui gère les accès concurrents à une base Jet partagée sur un serveur,
- dans chaque application (sur chaque poste), tu gères la sécurité de chacun sans que cela puisse influer sur les autres...
À moins que le problème ne vienne de la table citée plus haut ?

Dis donc, j'espère que tu as séparé la partie "Tables" de la partie "Application" ?

nenette : comme dit Maxence, ce n'est qu'un nom typique (que j'utilise depuis 15 ans !) de fonction que tu mets dans un module standard et que tu appelles depuis la macro Autoexec.bat, par exemple.
Papy Turbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 08h55   #12
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Salut Papy Turbo,

Merci pour ton aide.

Je vais essayer d'être plus clair dans mes questions et demandes.

Plan de travail:
Au départ, j'avais créé une base principale sur mon poste, où je récoltais par email les données des différents utilisateurs.

Maintenant, on m'a demandé de mettre l'application sur un réseau.

Il faut savoir que les personnes qui se connectent, peuvent voir uniquement les données qui leurs concernent. Une personne qui n'a pas accès à l'application, doit être ejecter de l'application.

Je veux que les utilisateurs ont accès uniquement aux différents formulaires et pas la fenêtre access. Etant donné qu'ils n'ont pas accès aux données des autres, je n'ai pas envi qu'ils vont les visualiser par ce moyen.

Réponse aux questions:
- Nombre d'utilisateur max 10 personnes.
- actuellement, je stockes les noms des personnes dans une table qui se trouve dans la base centrale (je pense que c'est risqué comme ça).

Citation:
Comment gérer la concurence d'accès?
Le problème que j'ai c'est si la dernière personne n'est pas autorisé de voir la fenêtre base de données et que moi je me connecte à cette base, je dois sortir et entrer pour voir apparaître à nouveau la fenêtre access.
=> j'ai ma base sur le réseau, l'utilisateur de niveau 2 se connècte et a accès uniquement aux formulaires pas à la fenêtre access, moi utilisateur de niveau 1 accès sur tout, la première g un accès comme l'utilisateur de niveau 2, il faut que je sors de l'appli et ensuite que j'entre à nouveau pour avoir un accès de niveau 1. (j'espère avoir été plus clair).

J'espère avoir été plus clair maintenant.

Un grand merci de votre aide.

Bien à vous.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 09h02   #13
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
Citation:
Envoyé par Gourouni
j'ai ma base sur le réseau, l'utilisateur de niveau 2 se connècte et a accès uniquement aux formulaires pas à la fenêtre access, moi utilisateur de niveau 1 accès sur tout, la première g un accès comme l'utilisateur de niveau 2, il faut que je sors de l'appli et ensuite que j'entre à nouveau pour avoir un accès de niveau 1. (j'espère avoir été plus clair).
et ça, tu le gères comment ?
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 09h08   #14
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Citation:
Envoyé par obipadawan
Citation:
Envoyé par Gourouni
j'ai ma base sur le réseau, l'utilisateur de niveau 2 se connècte et a accès uniquement aux formulaires pas à la fenêtre access, moi utilisateur de niveau 1 accès sur tout, la première g un accès comme l'utilisateur de niveau 2, il faut que je sors de l'appli et ensuite que j'entre à nouveau pour avoir un accès de niveau 1. (j'espère avoir été plus clair).
et ça, tu le gères comment ?
Salut obipadawan,

Je le gère comme expliquer précédement. J'ai une table qui se trouve dans l'application. Où je récupère le nom de l'utilisateur et le niveau. Si c'est de niveau 1, j'active la fenêtre access, si c'est de niveau 2, je désactive. Il y a un script que j'ai fait.

Merci de ton aide.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 09h13   #15
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
relis la solution de papy turbo, deja elle sera bien plus efficace et transparente par rapport a la tienne
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 09h25   #16
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Salut,

Je pense bien que la solution de Papy Turbo est bonne mais je ne sais pas comment travailler càd par où commencer afin de ne pas avoir un problème plus tard.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 17h03   #17
Membre Expert
 
Avatar de Papy Turbo
 
Homme Etienne Pailleret
Développeur VBA
Inscription : mars 2004
Messages : 748
Détails du profil
Informations personnelles :
Nom : Homme Etienne Pailleret
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Développeur VBA

Informations forums :
Inscription : mars 2004
Messages : 748
Points : 1 114
Points : 1 114
Citation:
Envoyé par Papy Turbo
Dis donc, j'espère que tu as séparé la partie "Tables" de la partie "Application" ?
et tu ne m'as pas répondu ?? Je soupçonne que tous tes problèmes viennent de là. (mais je peux me tromper )

Enfin, par "créer un fichier de sécurité", tu entends un fichier "system.mdw" ?
Tu ne le crées pas avec WrkgAdm.exe. Tu le crées en copiant le "system.mdw" de base, installé par Access, ou un autre.
Puis tu utilises
- soit WrkgAdm.exe pour désigner celui qui sera utilisé par défaut,
- soit, pour chaque application, un raccourci Windows. Dans la ligne de commande du raccourci, tu peux désigner la base de données (applicative) à ouvrir + avec le paramètre /wrkgrp, quel fichier de groupe de travail utiliser ?
Code :
"C:\Sources\MonClient\Application.mdb" /wrkgrp "C:\Sources\MonClient\System.mdw"
Papy Turbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 19h07   #18
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Salut Papy Turbo,

Merci pour ton aide.

Je commence à mieux comprendre.

Demain, je vais attaquer à nouveau et suivre tes conseils.

Pour répondre à ta question, les tables et mon application se trouve dans le même fichier mdb.

Tu me conseilles de les séparer?Si c'est le cas, comment dois-je m'y prendre.

Merci d'avance.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 08h24   #19
Futur Membre du Club
 
Inscription : avril 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 93
Points : 18
Points : 18
Salut Papy Turbo,

Voilà, je viens d'essayer de faire comme tu m'as dit. Mnt je n'ai plus d'erreure d'occurence mais un "Access refusé".

Est ce que c'est dû que mon fichier MDW se trouve dans le même répertoire que mon MDB?

Est ce que c'est dû car je suis sur le réseau et pas en local?

Merci de votre aide.

Bien à toi.
Gourouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2004, 11h28   #20
Membre Expert
 
Avatar de Papy Turbo
 
Homme Etienne Pailleret
Développeur VBA
Inscription : mars 2004
Messages : 748
Détails du profil
Informations personnelles :
Nom : Homme Etienne Pailleret
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Développeur VBA

Informations forums :
Inscription : mars 2004
Messages : 748
Points : 1 114
Points : 1 114
Citation:
Envoyé par Gourouni
Pour répondre à ta question, les tables et mon application se trouve dans le même fichier mdb.

Tu me conseilles de les séparer?Si c'est le cas, comment dois-je m'y prendre.
Excuse moi du retard de cette réponse, mais OUI
Tous tes problèmes viennent de là. Si tu as une application en deux blocs :
- les tables sont partagées (à part quelques tables locales, voir "Access pour un pro ?" sous ma signature, à apprendre par coeur :o),
- chaque appli est sur le poste de l'utilisateur : ce que tu fais avec (autorisations pour l'un...) n'aura plus aucune influence sur ce qui se passe pour chaque autre !
- il est plus simple, bien que légèrement moins efficace (accès par le réseau), de laisser ton fichier 'System.mdw' sur le réseau, en accès partagé par tous : à chaque fois que tu (= l'Administrateur) ajoutes, supprimes, ou changes les autorisations des uns et des autres, tu n'as qu'à le faire sur ce fichier partagé. Sinon, il faudrait, à chaque modif., le recopier sur chaque poste... Par contre, ça t'oblige à lancer l'application avec un raccourci (que tu copies sur le bureau de chaque utilisateur), indiquant le chemin du /wrkgrp vers ton dossier public du réseau... comme indiqué ici, plus haut.

Dernier petit conseil, si tu débutes :
- crées toi un dossier Sources (par exemple, dans Mes Documents\Sources). Tu y créeras un dossier par (client ?), par projet, etc. Tu y mettras tous les "applicatifs" (fichier .mdb contenant tables attachées, requêtes, formulaires, états...)
- crées toi un dossier Donnees ou Data (toujours dans "Mes Documents", si tu veux, mais séparé). Tu y créeras des sous-dossiers identiques à ceux des sources, et tu y mettras les "bases de données" proprement dites (contenant les tables).
Depuis ton poste, tout cela doit faire partie des sauvegardes queotidiennes : le capital du programmeur inclut
1- les sources des applicatifs,
2- la structure des bases de données (tables, relations...)

3- l'original du fichier de groupe de travail (*.mdw)


Sur les postes des utilisateurs, tu installeras :
1- une copie, éventuellement en .MDE, de l'application, éventuellement avec le fichier de groupe de travail (voir ci-dessus), dans C:\Program Files\NomDeTaBoite\NomApplication
Aucun besoin de sauvegarder cela : les originaux sont chez toi (et tu as des sauvegardes 8) ).
2- sur le serveur partagé : la base de données, que tu sauvegardes tous les jours, voire toutes les heures : Le capital de ton client (tes utilisateurs), c'est le contenu (les données) des tables.

Je ne comprends pas ton erreur d'Accès refusé. Fais déjà le fractionnement, et je pense qu'elle disparaîtra. Sinon, donne + de détails (message exact et complet, quand exactement (après quelle instruction ?), etc.

Pour séparer ton projet monobloc en deux, tu as un assistant. Dans Access 2000, il est sous le menu : Outils, Utilitaires de bases de données, Fractionner une base de données... Et hop ![/b]
Papy Turbo 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 10h41.


 
 
 
 
Partenaires

Hébergement Web