Pour mes actions qui vont interagir avec le compte de l'utilisateur, je souhaite créer un objet "TheUser" en plus de l'ajouter à "ViewData [" TheUser "]" dès qu'une action sur mon contrôleur est appelée.Définition d'un utilisateur avec User.Identity.Name dans le constructeur du contrôleur
Si l'utilisateur est connecté, il saisira les informations de l'utilisateur à partir de la base de données, sinon, l'objet "TheUser" sera simplement nul.
J'ai essayé d'accéder à "User.Identity.Name" dans le constructeur du contrôleur, mais il n'est pas créé avant l'appel d'une action.
Je regardais les filtres d'autorisation personnalisés, mais ceux-ci ne me permettaient pas de créer l'objet "TheUser" et de le stocker dans ViewData.
Voici un bref extrait de ce que je voudrais accomplir:
[Authorize]
public class HomeController : Controller
{
User TheUser;
public HomeController()
{
TheUser = User.Identity.IsAuthenticated ? UserRepository.GetUser(User.Identity.Name) : null;
ViewData["TheUser"] = TheUser;
}
}
cette réponse m'a aidé pour MVC3 http://stackoverflow.com/a/1506311/511438 –