【发布时间】:2015-04-24 21:30:59
【问题描述】:
我正在尝试将最终用户的安全图像显示为具有背景的 div (css background-image: url(...)) 我有跨域配置,其中我的 AngularJS 客户端应用程序部署在 S3 存储桶和服务器上-side (Ruby-on-Rails) 部署在不同域名下的heroku上。
所有普通浏览器都会在图像请求中发送 auth cookie(在身份验证后设置),以便服务器可以了解用户是否有权访问该特定图像并根据该请求进行响应。
但不知何故,IE10 和 IE11 不会在跨域请求上发送任何 cookie。但是当我在同一台机器上设置两台服务器时(只有端口不同) - 一切正常。
谁能帮我解决这个问题?
更新:
请求标头:
- 接受 image/png, image/svg+xml, image/*;q=0.8, /;q=0.5
- 推荐人 my_referrer_url
- 接受语言 ru-RU,en-US;q=0.5
- 用户代理 Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.1;WOW64;Trident/6.0)
- 接受编码 gzip,放气
- 托管 my_heroku_serverside_url
- DNT 1
- 连接保持活动`
响应标头:
- 响应 HTTP/1.1 401 未经授权
- 服务器牛仔
- 2015 年 2 月 26 日星期四 22:24:04 GMT
- 连接保持活动
- Strict-Transport-Security max-age=31536000
- X-Frame-Options SAMEORIGIN
- X-Xss-保护 1;模式=块
- X-Content-Type-Options nosniff
- 内容类型文本/html; charset=utf-8
- 缓存控制无缓存
- X-Request-Id df2154b6-5c6f-4534-bff0-094576359b78
- X 运行时 0.005919
- 传输编码分块
- 通过 1.1 vegur
【问题讨论】:
-
奇怪。这个问题太罕见了,没人遇到过吗?
-
Cookies 受浏览器同源策略的约束,所以如果 IE 没有将 cookie 发送到不同的域,这是预期的行为。
-
好吧,我不确定我明白你的意思。在具有相同操作系统的同一台计算机上,Chrome 和 Firefox 按预期发送 cookie,但 IE 没有。
-
不幸的是,这对 IE 来说是一个令人头疼的问题,因为 IE 仍然强制执行称为 P3P 策略的东西。看看这篇文章,因为它可能会对你的问题有所启发:techrepublic.com/blog/software-engineer/…
标签: ruby-on-rails angularjs internet-explorer cookies heroku