Session ? Ou pas?

Répondre
nonoche
le 09/06/2009 à 11:27
nonoche
Bonjour, je susi en train de concevoir un site web dans lesquels des utilisateurs se verront attribuer des droits et donc des accès différents. Ces accès seront définit dans des grilles et chaque utilisateur sera relié à une grille.
Cette grille peut contenir une cinquantaine d'éléments du type:
- droit_ceci = 1
- droit_cela = 0

Plusieurs possibilités s'offrent à moi:
- lors du démarrage, je charge toute sa grille dans les variables de sessions

- a chaque chargement de page, je charge toute la grille et je regarde l'élément qui m'interesse pour la page

- a chaque chargement de page, je charge juste l'élément de la grille qui m'interesse et je regarde sa valeur pour voir si il a le droit ou non d'afficher la page

La premiere solution me parrait etre la meilleure, mais je ne sais pas si c'est bien d'enregsitrer beacuoup d'informations dans les variables de sessions

La seconde soltuion me parait interessant mais bouffe beaucoup de donnée car requete SELECT qui selectionne beaucoup de choses (50*2 valeurs)

La troisieme solution est moins couteuse en donnée que la seconde mais elle demande de faire du spécifique sur chaque page pour le chargement de la bonne donnée.


Je suis preneur de vos bons conseils :)
Merci d'avance
LupusMic
le 09/06/2009 à 22:19
LupusMic
Ça dépend du compromis que tu souhaites utiliser.

Stocker des données en session n'est pas un soucis, c'est fait pour ça. Si les données deviennent trop importante, il peut être utile de penser à des gestionnaires de session plus efficace, mais dans un premier temps c'est suffisant.
Donc de ce côté, pas d'inquiétude.

Par contre, l'inconvénient est que les données en session risquent d'être périmées. Donc les données cachées ne doivent qu'évoluer rarement en base. C'est un compromis qui peut être accordé aux droits d'accès.

Mais je ne pense pas que ton inquiétude concernant la quantité de données transmises soit justifiée. 50×20 octes (à tout casser), c'est rien.

Le conseil que je pourrais te donner, c'est de charger les données à chaque fois, puis d'envisager une optimisation par la suite, si c'est nécessaire.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours