2012-07-27 11 views
8

私はasp.netフォームバージョン4を使用しており、FormsAuthenticationを使用しています。 私はユーザーを永続させないことを選択しました。Google Chromeはブラウザの終了後にセッション変数を保持します

 FormsAuthentication.RedirectFromLoginPage(userIAmUsing, false); 

私はIEとFirefoxでブラウザを閉じるとき。私のセッション変数は破壊され、ページに戻ると再ログインするように求められます。しかし、私のChromeの設定では、「私が中断したところで続ける」設定にチェックが入っています。 Chromeでブラウザを閉じると、私の(開発者の)希望に対してCookieが保持されます。実際、私がマシンからログアウトしても、セッションは維持されます。 それは状況ですが、誰もがこの動作をオーバーライドし、ブラウザが閉じた後でもセッションを継続できないようにするために開発者として行うことができることを知っていますか?言い換えれば、ユーザーが設定を確認したとしても、他のブラウザと同じようにChromeを動作させることができますか?

+1

これは今日私のために登場しました。公式の[Chromeのバグレポート](https://code.google.com/p/chromium/issues/detail?id=128513)に関する議論がかなり面白いと感じました。 [Googleの公式回答](https://code.google.com/p/chromium/issues/detail?id=128513#c28)の半分が表示されます。明らかに、彼らはこれを修正することはありません。開発者として、私は手が結ばれていると思います。 –

答えて

0

エクスプローラ固有のコードはありません。できることは、IPとブラウザを追跡し、要求の詳細が変更された場合にユーザーからログオフすることです。

参考になった?

+0

ありがとう、これは私が考えなかったものですが、それは私の悪夢のシナリオを解決しません。学生が学校でアプリケーションをプライベートな情報で満たし、もう1分後に別の学生が戻ってきて、学生がログアウトするのを忘れてしまってブラウザを閉じただけで情報にアクセスできます。 Googleが他の人のようにプレイしている場合、これは問題ではありませんが、それは私の責任ではありません。そして、私はIE6のような感触をもう一度感じるので、1人のプレイヤーのためにみんなを変えることは嫌です。 –

+0

完全な正当化。しかし、いくつかのハッカーのために、あなたは高いセキュリティを置いており、あなたはそれにいくらかのパフォーマンスをもたらすことに同意するでしょう。それをモジュールに入れてリクエストを拒否してください。ロードバランサは、アプリのパフォーマンスを阻害する場合に使用できます。あなたの考えを教えてください。 – Ankit

2

クッキーとセッションの両方にタイムアウトがあります。タイムアウトを短く設定すると、時間の経過後にChromeを再利用しようとすることはありません。

+0

ありがとう。これは私ができることですが、これはもう一つのワームの蔓延を招きます。タイムアウトを短時間に変更しなければならなかったため、これが適用されない人が再ログインする必要がある人がいます。私は本当に誰もが同じルールでプレイするようにこれらのクッキーを維持しないようにChromeに指示するrobots.txtファイルのようなものを設定する方法を探しています。 –

+0

.NETセッションにはスライド有効期限があります。つまり、ユーザーがアクティブである限り、有効期限は引き続きプッシュバックされます。それらが非アクティブであるとき、それは戻されず、したがってタイムアウト後に失効する。 – Jeff

+0

も参照してください:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.slidingexpiration.aspx – Jeff

0

あなたがすることができる唯一のことは、手動でアンロードハンドラでクッキーを試してみて、削除することです。

$(window).unload(function() { /* delete session cookie */ }); 
関連する問題