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

Requêtes et SQL. Discussion :

Requête contextualisée avec profil user


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut Requête contextualisée avec profil user
    Bonjour à tous,

    J'ai une architecture Front End (FE) Back End (BE)

    A l'ouverture du FE, un formulaire invite l'utilisateur à saisir son profil et son mot de passe. Jusqu'à là , rien de plus classique !

    Par contre je n'ai pas les idées claires sur comment contextualiser les données c'est à dire n'afficher que les données propres à l'utilisateur?

    Merci par avance pour toute suggestion !
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  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.

    Qu'est-ce qui distingue tes données d'un utilisateur à l'autre ?
    Est-ce que par exemple tu as le code l'utilsateur dans un des champs ?
    Est-ce que cela marche par "secteurs" ?
    Est-ce que certains formulaires sont restreints à certaines personnes ?

    Bref donne quelques détails sur ton mode de discrimination pour décider qui à accès à quoi.

    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 éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Bonjour marot_r,

    Dans certaines tables, il y a l'identifiant Ressource. Et j'ai notamment :

    • tblAction (idAction, libAction, idRessource)
    • tblRessource(idRessource, profil, psw)


    L'invite de connexion FE va vérifier que le profil et le psw saisis existent. Si oui alors chargement du formulaire n'affichant que les enregistrements pour idRessource sachant que c'est en FE/BE !

    Faut-il déclarer une variable globale glIdRessource qui va soit servir dans la propriété Filter ou modifier le recordsource en dynamique?
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  4. #4
    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.

    Faut-il déclarer une variable globale glIdRessource qui va soit servir dans la propriété Filter ou modifier le recordsource en dynamique?
    Tu peux faire cela.

    Pour le stockage, regarde la collection TempsVars qui sont des supers variables globales (non typées) qui résistent aux "Pannes". Tant que ton appli est ouverte la variable conserve sa valeur, contrairement aux variables globales qui sont parfois réinitialisées après une erreur ou un arrêt non prévu du code.

    Ici un truc sur le sujet
    https://www.microsoft.com/en-us/micr...2007-and-2010/

    C'est disponible à partir de A2007 il me semble.

    En plus tu peux les utiliser directement partout aussi bien dans du code que dans une requête, après à toi de décider quelle est la meilleur façon de l'utiliser. Si par exemple jamais personne ne peut voir plus que ces données, un test dans une requête est trés bien.
    Si tu as des super-utiisateurs qui peuvent voir les données de tous le monde alors il faudra être plus subtil : filtre dynamique, table de correspondance ? Ça dépend du contexte et de la facilité à faire la chose.

    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.

  5. #5
    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
    En complément je viens d'avoir un cas semblable, on se base sur le code de connexion de Windows pour décider si la personne voit ou ne voit pas certaines données.

    Dans mes requêtes j'ai un test du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdUser like LireCritereUser
    Avec public function LireCritereUser() as string qui vas lire le code de Windows et une table des usagers où j'ai un champ "EstReviseur".
    Si une personne "EstReviseur" alors le résultat de LireCritereRoleUser est "*", ce qui fait qu'elle a accès à tout, sinon c'est le code lu et alors elle n'a accès qu'a ses propres données.

    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.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Merci maro_r

    Super info que j'implémente de suite dans mon code!

    Bon maintenant vais voir si passe par form.filter ou form.recordset !

    As-tu une préférence, un retour sur la performance de l'une ou l'autre solution?

    A+
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  7. #7
    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.

    Non je n'ai jamais rien lu là dessus ni fait de validation de performance.

    Ce que j'ai vu c'est que .Filter est généralement utilisé et relativement simple à mettre en oeuvre.
    Tu changes le filtre et Access s'occupe du reste : récupération des données et mise à jour de l'affichage.

    Et si tu fais ce que j'ai dit dans mon dernier poste, tu peux le faire au niveau des requêtes qui allimentent tes formulaires comme cela c'est "automatique". Tu as toujours les données pour la personne concernée sans te casser la tête.

    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.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Merci marot_r pour ton aide.

    J'ai décidé d'utiliser filter mais cela a généré un problème exposé dans le post ICI
    Si tu pouvais y jeter un oeil, ton expertise en plus de celle d'hyperion13, est la bienvenue
    A+
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/03/2013, 10h28
  2. [WS 2008] Pas de synchro des profils users entre un DC principal et secondaire
    Par kbz dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 25/09/2012, 15h24
  3. profil-user-role sur mvc
    Par mvc_dev dans le forum ASP.NET MVC
    Réponses: 8
    Dernier message: 29/04/2011, 16h07
  4. [MySQL] Enregistrer un profil "user" et un rôle
    Par whitespirit dans le forum Zend_Db
    Réponses: 4
    Dernier message: 31/05/2010, 17h10
  5. Réponses: 11
    Dernier message: 20/11/2008, 18h08

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