gpt4 book ai didi

c# - asp.net mvc 5 cookies 不持久在本地服务器上

转载 作者:行者123 更新时间:2023-11-30 16:09:31 25 4
gpt4 key购买 nike

您好,我正在尝试在用户登录后立即在我的 mvc5 应用程序中设置一个 cookie,并且我希望 cookie 在浏览器关闭后仍然存在,但是在我关闭浏览器后请求的 cookie 似乎为空(当它工作正常时我尝试在登录后立即访问)。

这是我创建 cookie 的方式:

public ActionResult Login(User u)
{
// this action is for handle post (login)
if (ModelState.IsValid) // this is check validity
{
using (RoadTexEntities rte = new RoadTexEntities())
{
var v = rte.Users.Where(a => a.UserEmail.Equals(u.UserEmail) && a.password.Equals(u.password)).FirstOrDefault();
if (v != null)
{
var checkBox = Request.Form["rememberMe"];
if (checkBox == "on")
{
string user = JsonConvert.SerializeObject(v);
HttpCookie userCookie = new HttpCookie("user");
userCookie.Values.Add("details", user);
userCookie.Expires.AddDays(1);
Response.Cookies.Add(userCookie);
}
Session["username"] = v.UserFirst;
return RedirectToAction("AfterLogin");
}
else
{
ViewBag.Message = "Invalid Login Credentials";
}
}
}
return View(u);
}

public ActionResult Index(){

HttpCookie userCookie = Request.Cookies["user"];
if (userCookie != null)
{
return RedirectToAction("AfterLogin");
}
else
{
return RedirectToAction("Login");
}
}

我已经检查了类似的问题并检查了我的浏览器设置,但是当我请求 cookie 时我仍然得到 null。

最佳答案

改成

 userCookie.Expires = DateTime.Now.AddDays(1);

因为您之前的代码不会设置 cookie 的过期时间。

关于c# - asp.net mvc 5 cookies 不持久在本地服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com