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

Était-ce utile?

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.

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