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 15/01/2008, 19h51   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 77
Points : 10
Points : 10
Par défaut Demande de conseil - Profil d'utilisateurs

Bonjour !

Juste un petit post ( qui pourrait peut-être profiter à d'autres ).

Mes utilisateurs sont stockés dans une table T_Users.
Actuellement, pour voir apparaître le nom de l'utilisateur, j'utilise des variables publiques déclarées dans un module et changées via formulaire de connexion.

Serait-il plus judicieux de créer une table temporaire "T_Temp_ProfilUser", créée par le formulaire de démarrage et contenant les données de l'utilisateur en cours. Je reprendrais les données via un dlookup, et effacerais la table lors de la déconnexion (ou la fermeture, avec mon formulaire caché ).
Je n'aurai en principe pas de problème pour créer tout cela.

Cette seconde solution vous paraît-elle la meilleure ?
Zoupla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2008, 20h15   #2
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117


Je suppose que cette table serait créée à partir de ta table T_Users

Je ne sais pas ce que d'autres en pensent, mais voici un élément de réponse...

J'utilise actuellement la solution avec variables publiques. Seulement, dès qu'une erreur survient dans mes procédures, il arrive parfois que les variables publiques redeviennent nulles. Au lieu d'avoir "User_Id" ayant la valeur "Jean", la valeur devient "" ( = vide ), ce qui est ennuyeux lorsque j'ai besoin de ces valeurs par la suite. D'où "re-bug".

Merci de ton idée, je me pencherais alors là-dessus ( sur la seconde ).

Mais cela n'est que mon avis...
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2008, 08h51   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 77
Points : 10
Points : 10
Citation:
Envoyé par damkre Voir le message
Je suppose que cette table serait créée à partir de ta table T_Users
Oui, j'aurais dû le préciser ...

D'autres avis, peut-être ?
Zoupla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2008, 20h34   #4
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 897
Points : 3 897
salut à tous,

Zoupla, ton soucis est de savoir si les paramètres de l'utilisateur en cours doit être mis en variable globale ou mis dans une table en somme et savoir s'il y a d'autre facon de faire?

damkre, souligne effectivement un pb sur les variables globales lors d'un pb d'exécution, mais que je considère comme un faux pb; on ne "livre" pas une appli dans ces conditions.
l'utilisation des variables globales permet un codage plus simple (si tu as du code).

le choix de l'emplacement mémoire t'incombe. les tables sont une valeur sur mais pense qu'il y a aussi l'ini, le registre, ...

je pense que tu pourrais créer une table/variable typée/... "parametres de session" où tu aurais l'index de l'utilisateur et d'autres paramètres utiles de session (répertoire courant, choix imprimante, langue, monnaie... ou autres variables propre à la session)
de ces références tu peux retrouver les données dans ta base au besoin.
c'est plus lourd mais plus structuré, cela dépend de tes besoins.

bonne continuation
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 20h51   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 77
Points : 10
Points : 10
Citation:
Envoyé par vodiem Voir le message
damkre, souligne effectivement un pb sur les variables globales lors d'un pb d'exécution, mais que je considère comme un faux pb; on ne "livre" pas une appli dans ces conditions.
l'utilisation des variables globales permet un codage plus simple (si tu as du code).
=> tu pourrais développer ?

Citation:
Envoyé par vodiem Voir le message
le choix de l'emplacement mémoire t'incombe. les tables sont une valeur sur mais pense qu'il y a aussi l'ini, le registre, ...

je pense que tu pourrais créer une table/variable typée/... "parametres de session" où tu aurais l'index de l'utilisateur et d'autres paramètres utiles de session (répertoire courant, choix imprimante, langue, monnaie... ou autres variables propre à la session)
de ces références tu peux retrouver les données dans ta base au besoin.
c'est plus lourd mais plus structuré, cela dépend de tes besoins.
=> là, je ne suis plus trop. Je ne suis pas un débutant d'access, je maîtrise les bases, mais je ne comprends pas

Merci de vos réponses, déjà !
Zoupla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 01h38   #6
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 897
Points : 3 897
pour ce qui est de l'emploi des variables globales:
c'est beaucoup plus simple d'utiliser dans un code le nom d'une variable qu'une fonction pour récupérer une valeur, c'est plus lisible aussi et simple en maintenance. (bien que certains le proscrivent)
le pb lors de la conception de la base c'est qu'il arrive qu'il y ait des erreurs d'exécution de code comme souligne damkre et tu constate que les variables peuvent être réinitialisé. donc si tu donne une application qui n'est pas stable (qui peut provoquer une erreur non géré) il risque d'avoir des pb... mais dans ce cas là tu n'est pas sensé la leur donner... non plus.
et si c'est le cas, tu es vite informé de la boulette et tu fais ce qu'il faut pour que cela ne se reproduise plus.

pour ce qui est de ton soucis conceptuel:
pour te dire cela autrement, tu charges actuellement les paramètres de ton user d'une table vers des variables globales et tu voudrais savoir s'il n'est pas préférable de les mettres plutot dans une autre table temporaire que tu détruira.
je te réponds: peu importe où que tu mets les données de ton user dans une variable, une table, un fichier... à toi de voir l'intérêt que cela t'apporte et ce que tu recherche;
variable globale: vitesse, simplicité, mais 'volage'...
table: un peu plus lent, un peu plus compliqué à mettre en oeuvre, mais plus sécurisé (par rapport au plantage).
fichier: ouverture éventuelle sur d'autre application.
...
pour moi, ceux ne sont que différent emplacement mémoire.

je te conseillais seulement d'avoir dans cette emplacement mémoire que je nomme 'paramètre de session' un minimum de donnée: un id_user (et non pas toutes ses champs liés) avec d'autres paramètres de session et d'utiliser une fonction pour récupérer les données du user par l'id_user dans la table t_user.
c'est comme dans tes tables tu ne duplique pas tes champs dans tes tables secondaires tu donne la clef primaire qui te donnera le reste.
par ex: si pour le moment tu as simplement [nom], [mot de passe] tu mettra plutot [id_user] dans 'parametre de session'. et au besoin faire une fonction qui retrouve ce que tu as besoin de savoir sur user.

tu centralise donc les données propre à la session qui pourrait s'étendre par la suite à d'autre paramètre qui pourrait t'être utile.
c'est plus lourd mais plus structuré.
windows 'crée' une clef pour une session utilisateur et tu peux constater qu'il y a beaucoup à mettre quand on voit grand...
à toi de voir si cela vaut le coup de faire ainsi.

j'espère avoir été plus clair Zoupla.
mais peut être d'autre auront leur point de vue à faire partager.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 17h34   #7
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 77
Points : 10
Points : 10
Citation:
Envoyé par vodiem Voir le message
pour ce qui est de l'emploi des variables globales:
c'est beaucoup plus simple d'utiliser dans un code le nom d'une variable qu'une fonction pour récupérer une valeur, c'est plus lisible aussi et simple en maintenance. (bien que certains le proscrivent)
le pb lors de la conception de la base c'est qu'il arrive qu'il y ait des erreurs d'exécution de code comme souligne damkre et tu constate que les variables peuvent être réinitialisé. donc si tu donne une application qui n'est pas stable (qui peut provoquer une erreur non géré) il risque d'avoir des pb... mais dans ce cas là tu n'est pas sensé la leur donner... non plus.
et si c'est le cas, tu es vite informé de la boulette et tu fais ce qu'il faut pour que cela ne se reproduise plus.
A chaque procédure, j'ai un "on error..." Je ne sais pas si c'est de cela que tu parles. Quand le numéro de l'erreur n'est pas connu, j'ai prévu une table des erreurs...
Zoupla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 20h13   #8
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 897
Points : 3 897
si tu as prévu une gestion d'erreur, c'est prudent de ta part et cela t'évitera effectivement des soucis (pour peu que tu gère bien l'erreur et ses conséquences).

l'idéal étant bien sur de ne pas à y avoir recours.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2009, 09h44   #9
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 77
Points : 10
Points : 10
Citation:
Envoyé par vodiem Voir le message
si tu as prévu une gestion d'erreur, c'est prudent de ta part et cela t'évitera effectivement des soucis (pour peu que tu gère bien l'erreur et ses conséquences).

l'idéal étant bien sur de ne pas à y avoir recours.
Oui, évidemment ^^
Zoupla 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 08h05.


 
 
 
 
Partenaires

Hébergement Web