Enregistrement utilisateur Connectez-vous à une application ASP.NET MVC
-
13-09-2019 - |
Question
Je développe un aplication ASP.NET MVC et je dois enregistrer l'historique des connexions d'un utilisateur. J'ai besoin quelque chose de similaire à la dernière vu ici dans Stack Overflow (je garderai l'histoire, je ne sais pas si cela fait SO). Je veux savoir quelle est la meilleure façon de le faire?
- Global.asax: Application_AuthenticateRequest, Application_AuthorizeRequest, Session_Start
- Site.master
tout autre, Avantages et inconvénients de chacun?
Merci
La solution 3
Je finis faire ceci:
Je mets dans le global.asax dans Session_Start protected void () et dans la routine d'autorisation.
Autres conseils
Je voudrais tout d'abord créer une table de base de données pour tenir l'historique de connexion. Si vous utilisez le projet de base alors je voudrais aller à l'action LogOn et code place du AccountController pour écrire un enregistrement à la table d'historique après la ligne FormsAuth.SignIn.
if (!ValidateLogOn(userName, password))
{
return View();
}
FormsAuth.SignIn(userName, rememberMe);
//*** Write userName to history table *****
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
Les fournisseurs de membres exposent un événement ValidatingPassword
. Je câbler ma vérification que plutôt que dans le contrôleur. Pour rendre cela encore plus facile, vous pourriez avoir le feu au large d'un WebEvent
puis utilisez les fonctions de <heartbeat>
disponibles dans votre web.config
pour capturer les informations plutôt que d'avoir à écrire du code pour gérer cela.
Notez également que, si votre objectif est d'avoir quelques-uns des échecs dossier, les échecs de connexion sont automatiquement envoyées au journal des événements avec la configuration par défaut.
PS: Il suffit de relire la question. De toute façon vous voulez porter, Site.master est le mauvais endroit pour faire quoi que ce soit comme ça. Qu'est-ce qui se passe quand vous introcuce une seconde page maître? Ou, rendre à le modèle qui est le modèle de.