2011-02-09 2 views
0

ユーザー "foo"としてログインした後に、ログインしたブロックのユーザー名が "バー"を表示するという奇妙なバグが表示されます。つまり、$ユーザーオブジェクトがfooからbarに切り替えられました。

すべてのカスタムモジュールとテーマをチェックして、global $ userを使用しているときにブードーが起こっていないことを確認しました。リードはありません。

また、user_authenticateとuser_authenticate_finalizeの中にウォッチドッグメッセージが追加されましたが、ユーザーオブジェクトが動作しているようです。

他にどのようにこのエラーを追跡できますか?

+0

の最後の1又は使用のような割り当てを見て試すことができ、あなたがプレイにブロックキャッシュを見ていませんか? – ceejayoz

+0

テスト中に同じブラウザから別のユーザーとしてログインしていると、ブロックキャッシュの問題が発生しています。しかし、私がログインしているユーザーは、自分のコンピュータを一度も使用していません。これはあなたが意味することですか? – hitfactory

答えて

2

ユーザー切り替えは、次のような非常に単純なコードで発生する可能性があります。 global $ user; $ some_user = user_load( 'uid' => SOME_UID); $ user = $ some_user;

おそらくあなたは、グローバル$ユーザー

+0

ええ、それは私が思ったものです。 $ userでegrepを実行しましたが、ユーザオブジェクトへの呼び出しだけが割り当てられていません。 – hitfactory

+0

Grep on user_loadもあります。 – mpdonadio

関連する問題