Javascript 在Facebook登录上保存会话

Javascript 在Facebook登录上保存会话,javascript,asp.net,facebook,asp.net-mvc-3,safari,Javascript,Asp.net,Facebook,Asp.net Mvc 3,Safari,在我的mvc3 facebook应用程序中,我检测用户是否登录状态=已连接或允许他登录 通过Facebook登录弹出窗口。登录后,我将用户Facebook id保存在会话中: HttpContext.Current.Session["CurrentUserFacebookId"] = FacebookId; 问题出在safari浏览器中。safari的默认设置是“阻止来自第三方和广告商的Cookie”。因此,会话未保存,用户无法使用我的应用程序,因为所有操作都会检查会话。如何解决此问题?谢谢您

在我的mvc3 facebook应用程序中,我检测用户是否登录状态=已连接或允许他登录 通过Facebook登录弹出窗口。登录后,我将用户Facebook id保存在会话中:

HttpContext.Current.Session["CurrentUserFacebookId"] = FacebookId;

问题出在safari浏览器中。safari的默认设置是“阻止来自第三方和广告商的Cookie”。因此,会话未保存,用户无法使用我的应用程序,因为所有操作都会检查会话。如何解决此问题?谢谢您可以通过使用简单的

P3P:CP=“IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND 碳纳米管“

或在PHP中:

页眉('P3P:CP=“IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS 我们的工业"",

或在ASP.NET中:

HttpContext.Current.Response.AddHeader(“p3p”,“CP=\”IDC DSP COR ADM “我们的公司”是一家私营企业


但我认为在Safari 5.5.1之后,这个技巧就不再有效了。我认为在Safari 5.5.1或更高版本中,唯一的方法是通过在Preferences->Privacy中将“Block Cookie”设置为“Never”来启用第三方Cookie/会话。

也许现在回答这个问题已经晚了

但是,请尝试在web.config中输入以下内容: “forms loginUrl=“~/Account/Login”timeout=“2880”cookieless=“UseCookies”

在身份验证标签内。这(粗体部分)启用了cookies并对我有效

也许这不是最好的解决方案,但它对safari有效。并避免用户与首选项交互