IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Quel méthode pour "scinder" une BD entre deux populations d'utilisateurs ?


Sujet :

Sécurité

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2016
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2016
    Messages : 136
    Points : 149
    Points
    149
    Par défaut Quel méthode pour "scinder" une BD entre deux populations d'utilisateurs ?
    Bonjour,

    J'ai une BD avec une soixantaine de comptes utilisateurs, 70 tables, 130 requêtes et 10 modules.

    A ces utilisateurs viennent s'en ajouter cinq autres ... dont on aimerait qu'ils n'aient pas accès à autres choses qu'aux quelques objets (et sous-objets) les concernant - et qui seront clairement identifiés à la création.

    Comment s'y prendre pour que ça reste simple ?

    Amicalement,
    Olivier

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Quelle version d'Access as-tu ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2016
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2016
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    Selon les postes, ça va de 2013 à 2016 - c'est pourquoi je diffuse une version en accde compilée sur un poste 2013. Ça a une importance ?

    A+,
    Olivier

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,
    Citation Envoyé par olra72 Voir le message
    Comment s'y prendre pour que ça reste simple ?
    Si j'ai bien compris il s'agit de données communes mais certaines personnes n'ont pas accès à tout donc ça ne peut pas être très simple...

    Déjà il faut diffuser le logiciel en mode "utilisateur" qui ne permette aucun accès aux tables en direct
    Ensuite il faut définir des profils d'utilisateur qui ont plus ou moins de droits
    Enfin il faut ouvrir chaque fenêtre (ou non) en mode lecture ou écriture en fonction des droits de l'utilisateur

    S'il n'y a que 2 populations d'utilisateurs il y a une solution plus facile à mettre en place mais plus complexe à maintenir : faire une version "light" du logiciel avec seulement un lien vers les tables autorisées et les modules idoines
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2016
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2016
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    Je gère déjà des niveaux de droits au sein de la population initiale (administrateurs, chargés d'affaire, secrétaires, invités, etc.) - avec des rubans personnalisés et plein de code ici ou là pour dire qui a droit à tel bouton, qui a tel champ en lecture-écriture ou en lecture-seule, etc. Et, justement, je ne suis pas très satisfait du résultat - en gros, c'est le bordel et il y a régulièrement des trous dans la passoire ... et je ne parle ici que d'un échelle unilinéaire de droits sur un pool indifférencié d'objets.

    C'est pour ça que je ne suis pas très chaud pour "couper aussi le camembert à l'horizontale" si je puis m'exprimer ainsi !

    Si je me contente d'ajouter des champs dans les tables pour différencier mes objets en "accessibles par les populations A & B" des "inaccessibles par la population B", je suis parti pour réécrire de fond en comble mes 170 requêtes. Pas glop ! Pas glop !

    C'est pour ça que je me demandais s'il existait des approches conceptuello-déclaratives permettant de gérer simultanément (et de manière élégante) des répartitions de droits sur des datas ET/OU sur des éléments d'interface (boutons, champs, etc.).

    En tout cas, si ça n'existe pas, ça reste à créer ;-)

    A+,
    Olivier

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Il ne me viendrait pas à l'idée de gérer les droits dans les requetes donc je pense que nous n'utilisons pas access de la même façon !

    Si l'accès se fait par un bouton, il est facile de cacher ce bouton en VBA quand l'utilisateur n'y a pas droit, idem à l'ouverture d'un module
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2016
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2016
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    .. et si les droits s'appliquent au fait de pouvoir consulter certains éléments d'une table mais pas tous, où veux-tu mettre ça ailleurs que dans la requête qui alimente le formulaire ?

    Par exemple, j'utilise des formulaires continus pour permettre à un chargé d'affaire de voir la liste des affaires dont il est responsable et, dans la requête qui alimente ce formulaire, je filtre la liste de toutes les affaires (ouvertes) existantes pour ne retenir que celles dont l'utilisateur courant est effectivement chargé.

    Un administrateur pourra tout voir, mais si je veux distinguer un administrateur A&B d'un administrateur B-only, il faudra bien que je réduise aux seules "affaires de type B" pour le second. Oui ? Non ?

    Ce n'est pas difficile à faire, je demande juste s'il existe des méthodes un peu plus globales - et déclaratives - que "à la mano, requête par requête et en attendant la prochaine modif.".

    Amicalement,
    Olivier

  8. #8
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Il n'y avait rien de négatif dans mon commentaire, il y a plein de façons d'utiliser access

    Pour masquer certains champs à des utilisateurs je cache les colonnes du formulaire
    Pour masquer certaines lignes j'utilise le filtre ou je modifie le recordsource, ce qui revient à modifier la requete mais en VBA, je pense que c'est plus facile à maintenir

    Je dois gérer les droits sur 10 métiers et 4 niveaux d'autorisation (interdit lecture écriture administration) donc c'est tout en VBA

    Citation Envoyé par olra72 Voir le message
    Ce n'est pas difficile à faire, je demande juste s'il existe des méthodes un peu plus globales - et déclaratives - que "à la mano, requête par requête et en attendant la prochaine modif.".
    Il me semble que c'était le but des profils access (ceux qui étaient dans un fichier mdw) mais cela fait longtemps que je ne les utilise plus
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/10/2009, 15h01
  2. Réponses: 0
    Dernier message: 12/12/2008, 14h13
  3. Quel listener pour l'édition d'une JTable?
    Par ®om dans le forum Composants
    Réponses: 4
    Dernier message: 11/05/2005, 21h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo