Запись входа пользователя в приложение ASP.NET MVC

StackOverflow https://stackoverflow.com/questions/975502

Вопрос

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

  • Глобальный.asax:Application_AuthenticateRequest, Application_AuthorizeRequest, Session_Start
  • Сайт.Мастер

любой другой, Плюсы и минусы каждого?

Спасибо

Это было полезно?

Решение 3

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

Я вставил global.asax в protected void Session_Start() и в процедуру авторизации.

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top