Kyl*_*ten 7 c# asp.net cookies httphandler
我有一个cookie用于持久保存用户的用户ID,但是我很难用新值替换它.根据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);
}
Run Code Online (Sandbox Code Playgroud)
我第一次登录它运行良好,但如果我尝试通过使用新的用户ID命中处理程序来覆盖我当前的cookie,它不会更改cookie值,我继续以我当时的用户身份登录我打了它.
其他页面使用cookie登录,但由于用户ID未更改,因此不会更改登录用户.
public User User { get; set; }
public override void Page_Load()
{
this.User = User.Find(int.Parse(Request.Cookies["user_id"].Value));
}
Run Code Online (Sandbox Code Playgroud)
尝试添加 .Value
context.Response.Cookies["user_id"].Value = user.ID.ToString();
Run Code Online (Sandbox Code Playgroud)