@MaybeEijOrNot
Les framework récents gèrent souvent cette partie via cookie avec une durée de vie très courte.
Et le cookie en question ne contient pas de données en clair, elle sont chiffrées pour éviter la manipulation par le navigateur/l'utilisateur (ce dont parlait @pluj).
Via une "passphrase" ou un "salt" dans un fichier de configuration.
Après je pense que tu prends le problème à l'envers: tu seras obligé de faire ces requêtes pour être sûr d'avoir une information à jour quand ton code s'exécutera.
C'est (de mon point de vue) bien plus important d'avoir une information à jour qu'une latence (je préfère répondre une information correcte en prenant un peu plus de temps plutôt que de risquer de donner une information non à jour mais plus vite)
Si tu ne peux pas encaisser la charge liées à ces chargement de profils utilisateurs, c'est que soit le serveur web et/ou de base de données ne sont pas adaptés à la volumétrie de requête à traiter.
Et c'est là ou il faut faire des compromis. Par exemple, sur beaucoup de sites, c'est la gestion des droits de l'utilisateur qui est souvent assez gourmande en temps de traitements.
Et plutôt que de charger ces informations à chaque hit sur le serveur, ces sites prennent le parti de dire que l'utilisateur devra à nouveau se connecter si jamais de nouveaux droits lui ont été attribués.
C'est un choix comme un autre. Tout dépend d'où se trouve ton intérêt.
Mais si on considère que tes droits sont dans des tables hiérarchisées et dépendantes de groupes utilisateurs elles aussi hiérarchisées, là clairement on ne parle plus de faire un select dans un base sur la base d'un login et d'un mot de passe.
Et oui, à ce stade, dans ta session, c'est bien plus intéressant de stocker la liste des droits une fois les bonnes requêtes faites plutôt que de refaire X requêtes à chaque hit pour avoir ces mêmes droits.
Une autre façon de procéder consiste à donner un temps de vie à l'information au sein de la session qui a elle aussi sa durée propre. Le but ici sera juste de rafraîchir certaines informations de la session quand un certain temps sera passé depuis sa génération.
Bref la session est très intéressante, et elle permet finalement de contourner le côté sans état du protocole HTTP.
Rien que l'exemple que j'ai donné ici le montre. Les forums, les wordpress, beaucoup l'utilisent parce que ça marche.
A toi de voir ou se trouve son intérêt et où sont tes contraintes
Message édité par the_bigboo le 21-06-2018 à 20:38:00