У меня есть файл cookie, который я использую для сохранения идентификатора пользователя, но мне трудно заменить его новым значением.Согласно MSDN, я могу просто перезаписать значение, но оно не работает.Я делаю логику входа в обработчике и пересылаю пользователя на новую веб-страницу, если он успешен.
public void ProcessRequest(HttpContext context)
{
User user = User.FindByUsernameAndPassword(
context.Request.Form["username"],
context.Request.Form["password"]);
context.Response.Cookies["user_id"].Value = user.ID.ToString();
context.Response.Redirect("/profile", true);
}
При первом входе в систему это работает хорошо, но если я пытаюсь перезаписать свой текущийcookie, ударив обработчик с новым идентификатором пользователя, он не меняет значение cookie, и я продолжаю входить в систему как пользователь, которым я был, когда нажимаю на него.
Другие страницы используют cookie для входа, но поскольку идентификатор пользователя не меняется, он не меняет зарегистрированного пользователя.
public User User { get; set; }
public override void Page_Load()
{
this.User = User.Find(int.Parse(Request.Cookies["user_id"].Value));
}