跨域访问sessiono丢失问题说明及解决方法

来源:互联网 发布:淘宝买被子 编辑:程序博客网 时间:2024/04/29 16:04

问题:
由于Ie默认安全策略跨域访问时拒绝保留session,所以容易导致丢失。

 

解决方法:
一、
InternetExplorer 用户可修改其隐私设置以便提示以接受三方内容。 以下步骤显示如何修改隐私设置: 1. 运行 InternetExplorer。
2. 单击 工具 , 然后单击 Internet 选项 。
3. 单击 隐私 选项卡, 然后单击 高级 。 
4. 单击以选中 覆盖自动 cookie 处理 复选框。
5. 要允许要设置, ASP 和 ASP.NET 会话 Cookie 请单击以选中 总是允许会话 Cookie 复选框。
6. 提示 若要接收提示输入任何类型的第三方 Cookie, 请单击 第三方 Cookie 列表中。


二、web.config中修改
1. 首先启动"ASP.NET 状态服务",如果这个服务不启动,后面的更改不会起作用。

2. 在Web.config中修改<sessionState/>配置如以下代码所示

 代码如下:

<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:1314"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="true"
timeout="40"
/>


三、IIS 通用设置

打开IIS

管理工具——〉选择一个网站——〉属性——〉http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OUR


这样设置后,允许跨域访问, session或者cookie不会丢失