Requête de cookie répétée ou Stockage dans l'état de la vue? Quelle est la meilleure pratique?

StackOverflow https://stackoverflow.com/questions/167873

  •  03-07-2019
  •  | 
  •  

Question

J'ai un site Web interne auquel les utilisateurs se connectent. Ces données sont enregistrées sous forme de cookie. À partir de là, les utilisateurs continuent leur chemin joyeux. De temps en temps, les applications interrogeront l'enregistrement d'authentification pour déterminer les autorisations dont dispose l'utilisateur.

Ma question est la suivante: est-il plus efficace d'interroger le cookie pour obtenir les données de l'utilisateur lorsque cela est nécessaire ou de sauvegarder les informations de l'utilisateur dans Viewstate?

[Modifier] Comme indiqué ci-dessous, la session est également une option.

Était-ce utile?

La solution

Viewstate est spécifique à la page qu’ils consultent. Il disparaît dès lors qu’ils se déplacent joyeusement. Pas un bon moyen de conserver les données.

Votre meilleur choix est d'utiliser l'authentification par formulaire, intégrée à ASP.NET, et vous pouvez également intégrer toute information spécifique à l'utilisateur dans la valeur du ticket d'authentification par formulaire. Vous pouvez y insérer 4000 octets (après le cryptage) qui devraient contenir tout ce dont vous avez besoin. Il s’occupera également d’autoriser et de refuser aux utilisateurs l’accès aux pages du site. Vous pouvez également le définir pour qu’il expire à tout moment.

Le stockage dans la session est un non-non , car il évolue TRES mal (consomme des ressources sur le serveur) et peut être gênant pour les utilisateurs disposant de plusieurs connexions de navigateur au même serveur. C'est parfois inévitable, mais vous devriez faire de votre mieux pour l'éviter si vous le pouvez.

Autres conseils

Personnellement, je préfère utiliser une session pour stocker des choses, bien que les autres développeurs ici semblent penser que c'est un non-non.

Il y a un inconvénient: vous souhaiterez peut-être stocker l'adresse IP de l'utilisateur dans la session et la comparer à l'adresse IP actuelle de l'utilisateur pour éviter le détournement de session. Peut-être que quelqu'un d'autre ici a une meilleure idée sur la façon d'empêcher le détournement de session.

Vous pouvez utiliser les données de session. Ainsi, vous savez qu'une fois que vous les avez stockées, les utilisateurs ne peuvent plus les gâcher en modifiant la chaîne de requête.

J'utiliserais la méthode des cookies. La session est correcte, mais asp.net supprime lors de la recompilation et vous devez utiliser un cookie non-session si vous souhaitez le conserver après la session. Aussi, si vous utilisez un serveur d’état, il fait essentiellement la même chose (stocke la session dans la base de données). La session est comme une solution rapide et sale, de vrais hommes utilisent des cookies.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top