海海日记-冯海滨博客

您现在的位置是:首页 > C# > 正文

C#

jquery 跨域登录 windows.location 跳转丢失session解决办法

happyfhb2012-12-09C#1488

常用的 jqeruy跨域登录 无非是 通过ashx 请求 登录信息 登录成功 则写入session 然后 客户端跳转到登录成功后界面。

但是ie浏览器出现一个问题 就是session丢失 其他浏览器无这种情况。

纠结了 N天找到了 最好的解决方法。

原因

IE6浏览器支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的

cookie,Firefox和谷歌浏览器目前还不支持P3P安全特性,所以自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in

http://www.microsoft.com/china/windowsxp/pro/using/howto/security/ie6.mspx

那如何解决?

输出P3P的主机头声明。

一般处理程序中的代码如下 

context.Session["username"] = Username;//创建seesion 这是 在ashx界面创建session的方法// 
  
context.Response.AppendHeader("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");//修改网页头信息

 

代码的意思 应该是降低了安全 具体我也不清楚 反正可以解决这个问题。

 

 

 

平淡中储蓄成长

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~