私の Zend アプリケーションには、データのフォームまたは json 配列を取り込むための Ajax アクションがいくつかあります。
2 つの Ajax アクションが (同じログイン セッションから) 同時に発生すると、そのうちの 1 つがログイン画面を返します。さらに、場合によっては (すべての場合ではありませんが)、アプリケーションから別のページを要求すると、ユーザーがログアウトされることもあります。デバッグ中に、次のコード (LoginRequired ヘルパー内) で if 句が実行されていることがわかりました。この句は、ユーザーが実際にログアウトしていない限り、サイトの通常の操作では実行されません。
$auth = Zend_Auth::getInstance();
if(!$auth->hasIdentity()){
...
}
私の質問は次のとおりです。
ajax リクエストの非同期性やシステムのセキュリティを犠牲にしないソリューションが必要です。
ありがとうございました。