Je souhaite exécuter la ligne ci-dessous lorsque l'utilisateur se connecte pour avoir accès à l'objet MembershipUser. Cependant, j'ai du mal à déterminer quand le régler.ASP.NET MVC, Authentification par formulaire et session
Session["User"] = Membership.GetUser();
Jusqu'à présent, je l'ai essayé ...
- Application_AcquireRequestState
- Application_BeginRequest
- FormsAuthentication_OnAuthenticate
Pour chaque l'état de session est pas nécessairement disponible.
Il est facile de l'appeler manuellement dans la page d'ouverture de session, mais je dois l'utiliser lorsque je me connecte automatiquement à l'aide de cookies.
parce que vous n » Je vais aller à la base de données chaque fois que vous voulez afficher le nom complet de l'utilisateur, etc – Eranga
@Eranga - Je pense qu'il serait beaucoup plus efficace de dériver votre propre fournisseur d'adhésion personnalisé qui met en cache les données, c'est simple à faire et vous pouvez le faire une fois, puis oubliez-le. Il y a plusieurs articles sur la façon de le faire. Une autre option consiste à créer un wrapper CachedMembershipUser qui met en cache ces données. Vous utilisez les mêmes interfaces, mais transmettez au fournisseur réel en cas de besoin. –