Я работаю с 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>