2012-02-16 12 views
0

IE9のXDomainRequestは、認証またはクッキーを送信しません(#5 http://blogs.msdn.com/b/ieinternals/archive/2 010/05/13/xdomainrequest-restrictions-limitat ions-and-workarounds.aspx)。Drupalセッションを維持しながらIEとXDomainRequestsを使用するにはどうすればよいですか?

認証されたセッションのコンテキスト内ですべてのデータ要求を行う必要があります。

セッショントークンを明示的にXDomainRequestに追加し、バックエンドでdrupalのsess_read()を使用してセッションを取得するのが一般的な考え方です。 しかし、apiはさまざまな望ましくない副作用(http://api.drupal.org/api/drupal/includes%21s ession.inc/6)を引用するsess_read()を直接呼び出すことを勧めていません。

誰かがこれをうまく使っているのですか、別の回避策が見つかりましたか?セッションコンテキストは(のみによるあなたの$ SESSIONKEYが含まれている匿名の要求に)失われた場合、その後、私たちはこれでユーザーセッション/ユーザーIDを取得することができます

答えて

0

これが解決策になると思わ

$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. 
関連する問題