Записать логин пользователя в приложение ASP.NET MVC - PullRequest
1 голос
/ 10 июня 2009

Я занимаюсь разработкой приложения ASP.NET MVC, и мне нужно записать историю логинов пользователя. Мне нужно что-то похожее на последнее, что мы видели здесь, в переполнении стека (я буду хранить историю, я не знаю, делает ли это SO). Я хочу знать, как лучше всего это сделать?

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

что-нибудь другое, плюсы и минусы каждого?

Спасибо

Ответы [ 3 ]

2 голосов
/ 11 июня 2009

Поставщики членства выставляют событие ValidatingPassword. Я бы связал свой одитинг с этим, а не с контроллером. Чтобы сделать это еще проще, вы можете просто отключить этот WebEvent, а затем использовать <heartbeat> функции, доступные в web.config, для сбора информации, а не писать какой-либо код для обработки этого.

Также обратите внимание, что если ваша цель состоит в том, чтобы просто иметь некоторую запись сбоев, неудачные входы в систему автоматически отправляются в журнал событий с конфигурацией по умолчанию.

PS: Просто перечитайте вопрос. В любом случае, Site.Master - это не то место, где можно делать что-либо подобное. Что происходит, когда вы вводите вторую вторую главную страницу? Или выведите на шаблон, что такое шаблон.

2 голосов
/ 11 июня 2009

Я бы сначала создал таблицу базы данных для хранения истории входа. Если вы используете базовый проект, то я бы пошел в действие LogOn AccountController и поместил код, чтобы записать запись в таблицу истории после строки 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");
        }
1 голос
/ 12 июня 2009

Я заканчиваю делать это:

Я помещаю в global.asax защищенный void Session_Start () и в процедуру авторизации.

...