Pergunta

Estou desenvolvendo uma aplicação ASP.NET MVC e eu preciso para registrar a história de logins de um usuário. Eu preciso de algo semelhante ao visto pela última vez aqui no estouro de pilha (I será manter a história, eu não sei se SO faz isso). Eu quero saber qual é a melhor maneira de fazê-lo?

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

quaisquer outros, prós e contras de cada um?

Graças

Foi útil?

Solução 3

acabo fazendo isso:

Eu coloquei no global.asax no Session_Start protected void () e na rotina de autorização.

Outras dicas

Gostaria em primeiro lugar criar uma tabela de banco de dados para armazenar o histórico de login. Se você usar o projeto base, em seguida, eu iria para a ação e colocar código de logon do AccountController para gravar um registro para a tabela de histórico após a linha 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");
        }

provedores de associação expor um evento ValidatingPassword. Eu ligar meu auditoria para que ao invés de dentro do controlador. Para tornar isso ainda mais fácil, você poderia apenas ter que o fogo fora de um WebEvent seguida, usar o <heartbeat> recursos disponíveis no seu web.config para capturar as informações, em vez de ter que escrever qualquer código para lidar com isso.

Observe também que, se seu objetivo é apenas ter algum registro de falhas, os logins falhos automaticamente são enviados para o log de eventos com a configuração padrão.

PS: Apenas re-ler a pergunta. Qualquer maneira que você quiser levá-lo, Site.Master é o lugar errado para fazer qualquer coisa assim. O que acontece quando você introcuce uma segunda página mestre? Ou, pague à modelo que é o modelo de.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top