好的,基本上当我的网站没有SSL证书时,我能够使用我记住我的cookie就好了
Response.Cookies["censid"].Value = sessInfo.sid;
Response.Cookies["censid"].Expires = DateTime.UtcNow.AddDays(30);
Response.Cookies["censid"].Domain = "my-domain.com";
在这种状态下工作得很好。一旦添加了SSL证书,它仍会在站点响应中发送cookie,但客户端不会根据请求发送cookie,对于HTTP也是如此。然后我将代码更改为以下内容,问题仍然存在。
Response.Cookies["censid"].Value = sessInfo.sid;
Response.Cookies["censid"].Expires = DateTime.UtcNow.AddDays(30);
Response.Cookies["censid"].Domain = "my-domain.com";
Response.Cookies["censid"].Secure = true;
这是我尝试检索设置cookie的代码
HttpCookie cookie = Request.Cookies["censid"];
if (cookie != null)
{
string sid = cookie.Value;
UserIdFromSession userid = await UserHandler.validateSessionId(sid);
if (userid.status == SessionResult.SessionSuccess)
{
Session["sid"] = sid;
Session["username"] = UserHandler.getUsernameFromUserId(userid.userId);
return RedirectToAction("Index", "User");
}
}
我仍然启用了HTTP,因此人们可以访问我的网站的HTTPS和HTTP版本,但Cookie仍然是"设置"但是当我再次尝试加载网站时,请求中不会发送cookie。