Domanda

Sto sviluppando un aplication ASP.NET MVC e ho bisogno di registrare la storia di login di un utente. Ho bisogno di qualcosa di simile al visto l'ultima volta qui a Stack Overflow (sarò mantenere la storia, non so se lo fa questo). Vorrei sapere qual è il modo migliore per farlo?

  • Global.asax: Application_AuthenticateRequest, Application_AuthorizeRequest, Session_Start
  • Site.master

altri, Pro e contro di tutti?

Grazie

È stato utile?

Soluzione 3

finisco di fare questo:

ho messo nel global.asax in protetto Session_Start void () e nella routine di autorizzazione.

Altri suggerimenti

Vorrei innanzitutto creare una tabella di database per tenere la storia di login. Se si utilizza il progetto base quindi vorrei andare al codice dell'azione LogOn e il luogo del AccountController per scrivere un record alla tabella la storia dopo la linea 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");
        }

provider di appartenenze espongono un evento ValidatingPassword. Vorrei collegare il mio auditing a che piuttosto che all'interno del controller. Per rendere questo ancora più facile, si può solo avere quel fuoco fuori una WebEvent quindi utilizzare le funzioni <heartbeat> disponibili nella vostra web.config per acquisire le informazioni, piuttosto che dover scrivere alcun codice per gestire questa situazione.

Si noti inoltre che, se il tuo obiettivo è quello di avere solo alcuni record di fallimenti, gli accessi non riusciti automaticamente vengono inviati al registro eventi con la configurazione di default.

PS: Basta rileggere la questione. Qualsiasi modo si vuole portare, Site.master è il posto sbagliato per fare una cosa del genere. Cosa succede quando si introcuce una seconda pagina master? Oppure, renderò al modello di ciò che è il modello di.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top