2012-05-01 7 views
0

ユーザーにログインする必要のあるアプリケーションがあります。ログインすると、そのログインセッションのキーがデータベースに格納されます。重複ウィンドウ(aspコード)でバック機能を無効にする

ユーザーがCtrl + Kキーを押すと、データベースに格納されているキーを共有している重複ウィンドウが開き、問題が発生します。私はそれらをログインページにリダイレクトしますが、それらは複製を開いてもまだ「戻る」をクリックすることができ、同じキーを持つ2つのウィンドウを持っています - これは私のアプリケーションで多くの問題を引き起こします...

私はユーザーが帰るのをやめさせるか、新しいウィンドウで再度ログインを強制することができます(新しいキーを作成し、両方のウィンドウが有効になります)。

おかげ

+4

経験則として、組み込みのブラウザの動作がネイティブの場合、アプリケーションを中断した場合、修正が必要なブラウザではありません。 – Tomalak

+0

これは本当かもしれませんが、これは大規模なアプリケーションであり、私はそれを最新のプログラマーに過ぎません...アプリケーション全体を書き直すことは、現時点ではオプションではありません。 – user1367995

答えて

0

どのように彼らは、新しいウィンドウを開いていることを検出していますか?リダイレクトすると、現在のセッションキーが有効ではないことを示すフラグをデータベースに設定することはできませんか?こうして、彼らは本当に追い出され、ログインページにリダイレクトされるだけではありません。

+0

これは実際に私が思う問題の一部です。 http refererとwindow.name = ''を使用して新しいウィンドウを確認します。ほとんどの場合、それはキャッチしてログインにリダイレクトされますが、時にはそうではありませんが、他のウィンドウを無効にすることは望ましくありません。私たちは同じセッション/キーのために2つの開いたウィンドウを持つことを望んでいません。 – user1367995

0

大丈夫 - これを処理する別の方法がwindow.nameを使用して見つかりました。

ありがとうございます。