Регистрация попыток входа пользователя в текстовый файл в ASP .NET MVC - PullRequest
0 голосов
/ 20 января 2019

Чтобы регистрировать попытки пользователя войти в мое веб-приложение, мне нужно сохранять каждую попытку в текстовом файле.Я создаю модель регистратора следующим образом:

public class Logger

 {
    public string name { get; set; }
    public string date { get; set; }
    public string ipAddress{ get; set; }
 }

вот модель входа, для которой мне нужно создать регистратор:

 public class LoginModel

  {
     [Display(Name = "User Name")]
     public string Username{ get; set; }
     public string Password { get; set; }

  }

Метод проверки имени пользователя в контроллеревыглядит следующим образом:

     [HttpPost]
     [ValidateAntiForgeryToken]
     public ActionResult Login(LoginModel model, string returnUrl)
     {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        var loginResult = securityService.Login(model);

        if (!string.IsNullOrEmpty(loginResult.ErrorMessage))
        {
            ModelState.AddModelError(string.Empty, 
            loginResult.ErrorMessage);
            return View(model);
        }
        else
        {

            authManager.SignIn(claimsIdentity);

            HttpOnly = true
            });

            if (Url.IsLocalUrl(returnUrl))
            {
                return Redirect(returnUrl);
            }
            return RedirectToAction("Index", "Home");
        }
    }

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

1 Ответ

0 голосов
/ 21 января 2019

Я бы предложил вам использовать Nlog .Я использовал то же самое в своем проекте, и он работает потрясающе.Вам нужно создать объект для него, и вы можете использовать его прямо.Вот небольшой пример для этого:

Logger logger = LogManager.GetCurrentClassLogger();
logger.Info("Error while exporting QE reportlet from Dashboard -" + ex.Message + ex.StackTrace);

Вам необходимо установить два пакета Nlog и Nlog.config.После их установки вы увидите Nlog.config в вашем проекте.В этом вы найдете тег целей и правил, и вам нужно изменить их примерно так:

<targets>
<target
  name="logfile"
  xsi:type="File"
  fileName="D:\logging\mylogs.log"
  archiveFileName="D:\logging\mylogs.{#}.log"
  archiveNumbering="Date"
  archiveEvery="Day"
  archiveDateFormat="yyyyMMdd"
/>
 </targets>
<rules>
    <logger name="*" minlevel="Info" writeTo="logfile" />
  </rules>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...