Почему непостоянный файл cookie не устарел после закрытия окна браузера? - PullRequest
0 голосов
/ 27 августа 2018

Из Интернета я узнал, что существует два типа файлов cookie: постоянные файлы cookie и непостоянные файлы cookie.Непостоянные файлы cookie создаются, если я не указываю срок действия.Я также узнал, что непостоянные файлы cookie удаляются после закрытия браузера, но в моем случае, даже если я закрыл окно браузера, я все равно могу войти в свое приложение без успешного входа в систему.

public ActionResult Index(Login userLogin)
{
    if (ModelState.IsValid)
    {
        Login Login = loginBusinessLayer.GetUserLogin(userLogin.UserId, userLogin.UserName);
        if (Login.UserPassword == userLogin.UserPassword)
        {
            Session["UserLogin"] = Login;
            User user = userBusinessLayer.GetUser(Login.UserId);
            Role role = roleBusinessLayer.Roles.Single(rle => rle.RoleId == user.RoleId);
            Session["Role"] = role;

            HttpCookie cookie = new HttpCookie("UserLogin");
            cookie["LoginId"] = Convert.ToString(Login.UserId);
            cookie["RoleId"] = Convert.ToString(role.RoleId);
            Response.Cookies.Add(cookie);
            return RedirectToAction("Success", "Login");
        }
        else
        {
            return View();
        }
    }
    return View();
}

1 Ответ

0 голосов
/ 27 августа 2018

Современные браузеры продолжают работать в фоновом режиме, даже если все видимые окна закрыты.Например, Google Chrome в Windows должен быть закрыт из-за маленького значка уведомления на панели задач, чтобы действительно отключиться.Если это сделано, сеансовые куки удаляются.

И для записи, ваш метод входа в систему содержит ряд недостатков безопасности.Я надеюсь, что это просто пример.Используйте встроенные библиотеки в asp.net: Asp.NET Identity и провайдеры Owin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...