セッション タイムアウトのないアプリケーションを使用しています。ユーザーがサイトにアクセスするたびに、またはアイドル状態のままであっても、ログインする必要はありません。最近、外部ベンダーと提携して、i-frame でレンダリングしている調査データを提供しました。ベンダーは、そのセッションが iframe で期限切れになった後、30 分間のセッションを持ち、ユーザーはベンダー サイトに再ログインするよう求められます。前に述べたように、エンド ユーザーが複数回ログインすることは望ましくありません。
私が思いついた解決策は、エンドユーザーのセッションがiframeで期限切れになったときに、次のjavascript呼び出しが発生することでした:
/if called from an iframe, refresh the containing window
if (self != top) {
window.parent.location.href = window.parent.location.href;
}
これをローカルでテストしたところ、動作しました。つまり、親と iframe の両方が同じアプリケーション サーバーで実行されていましたが、これが 2 つの異なるドメイン (親ウィンドウと i-frame が異なるアプリ サーバーで実行されている) に展開されている場合、まだ送信されています。ユーザーはベンダーのログイン画面に移動し、更新を押すだけで、資格情報を提供しなくても正常に再ログインできます。
いくつかの質問:
- この問題を処理するために誰もが考えることができる別の方法はありますか?
- これがローカルでは機能するが、ドメイン間では機能しない理由は何ですか?