2009-04-02 7 views
1

ここでは、ユーザーがどこに由来するかに応じてWindows認証またはフォーム認証を使用するいくつかの混在環境Webアプリケーションを実行しています。セッションオブジェクトにASP.NETが混在したWindows /フォーム認証の問題

アイドルセッションを長時間開いてから仕事を再開しようとすると、主にベストプラクティスを探している人からのエラーを避けるために、他の人がどのように期限切れのセッションを処理しているのか不思議です。

ご迷惑をおかけして申し訳ございません。

おかげで、

答えて

1

私はあなたの認証方法は、彼らがに滞在することができますどのくらい影響を与えないはずで取得するために使用するメカニズムをセッションタイムアウトにどのように影響するかわからない。誰かあれば、話す一般

有効期限が切れているセッションがある場合は、そのセッションがアクティブかどうかを確認するコードを追加できます。そうでない場合は、それらをログインページにリダイレクトするか、他のフレンドリーなテキストを表示するだけです。

基本的には何か:

if (Session.IsNewSession) 
    Response.Redirect("login.aspx"); 
+0

どこでDRYestの場所がその小切手になるとお考えですか? – thismat

+0

それは本当にあなたのサイトの構造に依存します。マスターページを使用する場合は、Page_LoadまたはPage_Initに追加することができます。共有ユーザーコントロールを持っている場合は、それをPage_Initに追加できます。また、セッションデータを使用するすべてのページのPage_Loadに手動で追加することもできます。 – AaronS

+0

私は多くのページで何かを維持する考え方が嫌いです。マスターページをやっています。 – thismat

0
  • は、セッションの不要な情報を保存しないでください。
  • リロード可能なものを保存している場合は、セッションで見つからない場合にリロードするコードを用意してください。
  • 長期間に渡って処理するものがある場合は、中間情報をデータベースに保存する。
  • ユーザーがセッションを使用するプロセスを実行していて、データが不足している場合は、手順1に進みます(他の場所に情報がない場合は、それほどできません)。
関連する問題