Не могу удалить cookie - PullRequest
       2

Не могу удалить cookie

0 голосов
/ 11 февраля 2019

Я вижу, что удаляю cookie в отладке сразу после того, как использую метод удаления HttpContext.Request, но когда я перенаправляю на другое действие, я все равно могу получить значение cookie.Почему это происходит?

public class LoginController : Controller
{

  public ActionResult Logout()
  {       
   HttpContext.Request.Cookies.Remove(Constants.User);     

   //I see that HttpContext.Request.Cookies[Constants.User] returns null in this line.

   return RedirectToAction("Login", "Login");
  }

  public ActionResult Login()
  {
    var userCookie = HttpContext.Request.Cookies[Constants.User];

    // But HttpContext.Request.Cookies[Constants.User] is not null here. I get the value from it.

    if (userCookie != null)
      return RedirectToAction(Constants.MainPage, Constants.MainPage);
    else
      return View();
  }
}

1 Ответ

0 голосов
/ 11 февраля 2019

Чтобы удалить куки, вы должны отправить его с датой истечения срока, установленной на текущую или предыдущую дату.Чтобы удалить его с помощью HttpContext.Request.Cookies.Remove(Constants.User);, просто удалите его из коллекции, но он все еще существует в клиентском браузере.

Например, вместо использования функции Remove используйте:

    Response.Cookies[Constants.User].Expires = DateTime.Now.AddDays(-1);   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...