2010-08-18 6 views
2

Je crée un site Web sur ASP.Net dans lequel un utilisateur se connecte et j'ai besoin de stocker les données spécifiques à l'utilisateur (plus quelques données supplémentaires) quelque part afin que toutes les pages de mon site Web puissent accéder facilement aux données. À un moment donné, de nombreux utilisateurs pouvaient accéder au site Web et chaque utilisateur aura ses propres données spécifiques. Actuellement, j'utilise des sessions pour stocker les données après la connexion et accéder aux données sur différentes pages au fur et à mesure des besoins. J'utilise également la session pour transmettre des données d'une page à une autre. Je ne veux pas non plus utiliser de cookies car de nombreuses entreprises interdisent la création de cookies. Je comprends que ce n'est pas la meilleure pratique. Pouvez-vous suggérer quel serait le meilleur moyen de gérer les données?Données globales dans le site Web ASP.Net

Merci, Abhi.

Répondre

1

Les sessions ne sont pas nécessairement une mauvaise voie à suivre. Assurez-vous que les données conservées dans la session sont aussi concises que possible et que votre application prendra en charge tous les environnements dans lesquels elles peuvent être déployées. N'oubliez pas non plus que les sessions n'offrent pas de persistance de données une fois la session expirée, donc si vous avez besoin de la persistance des données, une base de données serait plus appropriée.

1

C'est ce que MS dit à ce sujet, http://msdn.microsoft.com/en-us/library/ms178581.aspx:

« valeurs SessionID sont envoyées en texte clair, que ce soit un cookie ou dans le cadre de l'URL Un utilisateur malveillant pourrait avoir accès à la session d'un autre utilisateur. en obtenant la valeur SessionID et en l'incluant dans les requêtes au serveur Si vous stockez des informations sensibles dans l'état de session, il est recommandé d'utiliser SSL pour chiffrer toute communication entre le navigateur et le serveur qui inclut la valeur SessionID. "

Tant que vous utilisez une connexion, vous devriez être bien ASP.NET vous fournit déjà

1

enregistrer des informations sur l'utilisateur via l'interface IPrincipal et la propriété User.

Si vous avez besoin d'informations supplémentaires sur chaque utilisateur, vous pouvez les utiliser pour implémenter un User Context.