0

IE9 的 XDomainRequest 不发送身份验证或 cookie(http://blogs.msdn.com/b/ieinternals/archive/2 010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx 中的#5)。

我们需要在经过身份验证的/会话上下文中发出所有数据请求。

一种普遍的想法是将会话令牌显式添加到 XDomainRequest,然后在后端使用 drupal 的 sess_read() 来检索会话。但是,api 建议不要直接调用 sess_read() 引用各种不需要的副作用(http://api.drupal.org/api/drupal/includes%21s ession.inc/6 )。

有没有人成功使用这个或找到另一种解决方法?

4

1 回答 1

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.
于 2012-02-18T04:06:27.640 回答