Файл cookie для аутентификации ASP.NET MVC 4 сохраняется, даже если он не является постоянным - PullRequest
0 голосов
/ 18 октября 2018

Я работаю с ASP.NET MVC 4 (NET Framework 4.0)

По непонятной мне причине мой пользователь остается в системе даже после перезапуска браузера и / или приложения.Чтобы продвинуться дальше, даже после полной перезагрузки компьютера, это означает, что cookie / билет аутентификации сохраняется.Я не хочу использовать атрибут cookieless в моем Web.config, так как я не хочу, чтобы куки сохранялись в URL для вопросов безопасности и SEO.

Я не понимаю, почему это происходит,Я установил, что файл cookie аутентификации не сохраняется в методе FormsAuthentication.SetAuthCookie().

Это мое действие при входе, isValid(username, password) - это пользовательский метод, который проверяет, совпадают ли имя пользователя и пароль в модели.db - это контекст моей базы данных.

    [AllowAnonymous]
    [HttpPost]
    public ActionResult LogIn(Employe user)
    {
        if (ModelState.IsValid)
        {
            if (IsValid(user.username, user.password))
            {
                FormsAuthentication.SetAuthCookie(user.username, false);
                Employe currentEmp = db.Employes.SingleOrDefault(emp => emp.username == user.username);
                Session["currentUser"] = currentEmp;
                return RedirectToAction("Index", "Home");
            }
            else
            {
                ModelState.AddModelError("", "Login Data Incorrect!");
            }
        }
        return View();
    }

Это мой Web.config

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" protection="All" timeout="2880" />
</authentication>

1 Ответ

0 голосов
/ 18 октября 2018

Если вы используете режим проверки подлинности формы, существует ситуация, позволяющая контролировать как истечение срока проверки подлинности формы, так и срок действия пользовательской сессии.Это, вероятно, сделает ваше приложение проблемой.Надеюсь, вы найдете решение здесь Как я могу обработать исключения тайм-аута проверки подлинности форм в ASP.NET?

...