IE9的XDomainRequest不发送身份验证或cookie(http://blogs.msdn.com/b/ieinternals/archive/2中的#5} 010/05/13 / xdomainrequest-限制-limitat 离子 - 和 - workarounds.aspx)。
我们需要在经过身份验证的/会话上下文中进行所有数据请求。
一个通用的想法是将会话令牌显式添加到XDomainRequest,然后在后端使用drupal的sess_read()来检索会话。 但是,api建议不要直接调用sess_read()引用各种不良副作用(http://api.drupal.org/api/drupal/includes%21s ession.inc/6)。
是否有人成功使用此功能或找到另一种解决方法?
答案 0 :(得分:0)
这似乎是一个解决方案:
如果会话上下文丢失(由于只包含$ sessionKey的匿名请求),那么我们可以使用以下命令检索用户会话/用户ID:
$userFetched = db_fetch_object(db_query("SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '%s'", $sessionKey));
//assuming sessionKey was valid, then $userFetched->uid will contain the user's id.