0 votes

Où puis-je conserver la société à laquelle un utilisateur appartient avec ASP.NET MVC et MembershipProvider ?

Lorsqu'un utilisateur se connecte à mon application ASP.NET MVC, je dois savoir à quelle société il appartient. La société à laquelle il appartient déterminera la base de données d'où proviennent ~toutes~ ses requêtes. Il est donc important que je demande sa société dès qu'il se connecte et que je la fasse persister afin de ne pas avoir à effectuer cette recherche à nouveau.

Où/comment dois-je stocker cet identifiant de société ? La session ? Un moyen de personnaliser un MembershipProvider qui me permettrait de conserver ces informations dans un objet Utilisateur ?

Quelle serait la meilleure façon de gérer cette situation ? Toutes les requêtes que j'effectuerai par la suite dépendront de l'identifiant de la société, il est donc important que je conserve cette information.

1voto

Matthew Jones Points 13864

Vous pouvez utiliser les propriétés de profil d'ASP.NET, mais vous devez créer votre propre gestionnaire pour celles-ci. Consultez la réponse de Seventh Element à cette question pour avoir des idées sur la façon de commencer.

1voto

Portman Points 15878

Vous pourriez écrire votre propre module Auth de prolonger FormulairesAuthentification et stocker l'entreprise dans l'IPrincipal.

Ensuite, vous pouvez faire User.Identity.Company comme suit Nom de l'identité de l'utilisateur .

Il s'agit d'un travail initial plus important que de placer l'entreprise dans un seau déjà existant comme Cache ou Session, mais cela vous permet d'écrire du code sans effort une fois que tout est en place.

0voto

Malcolm Frexner Points 5393

Je le mettrais en session, car dans votre cas, l'utilisation du profil signifie 1 aller-retour supplémentaire à la DB pour chaque appel à la DB.

Si vous accédez au profil de toute façon dans chaque méthode d'action, alors vous devriez l'utiliser bien sûr.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X