Question

J'utilise ASP.net pour le développement d'un site intranet. Je dois tenir le userid dans tous postbacks pour toutes les pages du site. Est-il souhaitable de tenir ces informations en session ou somether moyen est disponible.

Était-ce utile?

La solution

Si vous utilisez l'authentification par formulaire, le nom d'utilisateur sera disponible:

Page.User.Identity.Username

Si vous avez besoin de tenir une autre information alongisde cela, utilisez session.

PS. Je recommande d'utiliser une classe pour envelopper vos variables de session pour forte typedness et les valeurs par défaut possibles.

Autres conseils

FormsAuthentication est également capable de contenir un code d'utilisateur personnalisé, permet de résoudre beaucoup de choses pour vous comme paramétrage du cookie, la page de connexion redirection etc.

Vous pouvez définir le code d'utilisateur en utilisant la méthode RedirectFromLoginPage puis utiliser le FormsAuthentication_OnAuthenticate événement pour trouver et définir la propriété Page.User, pour accéder à toutes les autres logiques dont vous avez besoin.

Les méthodes les plus courantes de le faire utilisent soit la session ASP.NET objet ou en utilisant des cookies.

De toute façon va bien travailler, mais si vous le souhaitez pour leurs informations utilisateur à persister même après la session a expiré (comme la fermeture d'une fenêtre du navigateur), alors vous voulez regarder dans les cookies. Les informations de session seront éliminés lors de la fermeture d'un navigateur, ou le délai d'attente d'activité a été atteint.

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