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

本文介绍了解决IE浏览器在跨域访问时由于默认安全策略而导致的Session丢失问题。提供了三种解决方案:调整IE隐私设置以允许接收第三方Cookie;在web.config文件中配置ASP.NET状态服务并调整<sessionState/>参数;以及通过IIS设置增加P3P头部信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:
由于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不会丢失

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值