ASP.NET页面嵌入frame/iframe后,Session的问题
时间:2010-12-23 来源:天天晒太阳
典型的就是使用membership登录,会发现始终无法获得forms-authentication ticket,从而不停的在登录页面循环。
这是因为IE会认为这是一个不被信任的第三方运行环境,因此会向每个frame发送单独的请求,而这些请求会创建自己的独立session。
解决方法:使用Privacy PreferenceProject(P3P),具体参照 http://www.w3.org/P3P/
在最早的请求头部加入P3P,例如:
Response.AddHeader ("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
经测试,此机制在 IE6 - IE8 均存在,Firefox则无此机制。
相关阅读 更多 +