在我的 mvc3 应用程序中,我将每个用户的数据保存到会话中。
HttpContext.Current.Session["UserName"] = "Jon";
问题出在 Safari 浏览器中。默认设置为:“阻止来自第三方和广告商的 cookie”。所以会话没有保存。我找到了解决方案:
var ticket = new FormsAuthenticationTicket(
1,
"currentUser",
DateTime.Now,
DateTime.Now.AddMinutes(30),
false,
null);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
this.Response.Cookies.Add(cookie);
但是这个解决方案只能在本地主机上工作,不能在服务器上工作......有人有这个问题的替代解决方案吗?或者可以解释为什么我的解决方案不能在服务器上运行?