我们如何在维护 drupal 会话的同时使用 IE 和 XDomainRequests?
IE9 的 XDomainRequest 不发送身份验证或 cookie(http://blogs.msdn.com 中的#5 /b/ieinternals/archive/2 010/05/13/xdomainrequest-restrictions-limitat ions-and-workarounds.aspx)。
我们需要在经过身份验证的/会话上下文中发出所有数据请求。
一种普遍的想法是将会话令牌显式添加到 XDomainRequest,然后在后端使用 drupal 的 sess_read() 来检索会话。 但是,API 建议不要直接调用 sess_read() 来引用各种不需要的副作用 ( http:// api.drupal.org/api/drupal/includes%21s ession.inc/6 )。
有人成功使用这个或找到其他解决方法吗?
IE9's XDomainRequest does not send authentication or cookies (#5 in http://blogs.msdn.com/b/ieinternals/archive/2
010/05/13/xdomainrequest-restrictions-limitat
ions-and-workarounds.aspx).
We need to make all data requests within an authenticated / sessions context.
One general idea would be to add the session token explicitly to the XDomainRequest, and then on the backend use drupal's sess_read() to retrieve the session.
However, the api advises against directly calling sess_read() quoting various undesired side effects ( http://api.drupal.org/api/drupal/includes%21s
ession.inc/6 ).
Is anyone successfully using this or found another workaround?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这似乎是一个解决方案:
如果会话上下文丢失(由于仅包含您的 $sessionKey 的匿名请求),那么我们可以使用以下方法检索用户会话/用户 ID:
this seems to be a solution:
if the session context is lost (due to an anonymous request which only contains your $sessionKey), then we can retrieve the user session / user id with this: