timeout
属性で設定する値は、セッションタイムアウト値を設定する正しい方法の1つです。
timeout
属性は、セッションが放棄される前にアイドル状態になることができる時間を分単位で指定します。この属性のデフォルト値は20です。
この属性に1の値を割り当てると、アイドル状態から1分後にセッションを放棄するように設定しています。ブラウザを開き、次のページに移動し、これをテストする簡単なaspxページを作成し、Page_Loadイベントにこのコードを記述し、
Response.Write(Session.SessionID);
する
。セッションIDが印刷されます。 1分待ってからリフレッシュしてください。セッションIDが変更されます。
私の推測が正しい場合は、セッションがタイムアウトするとすぐにユーザーをログアウトさせる必要があります。これを行うためには、リグアップ、ユーザーの資格情報を確認し、このようなセッション変数を作成するログインページをすることができます - 今、あなたはこのように、この変数のすべてのページのチェックを実行するために
Session["UserId"] = 1;
を持っています -
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
これは、これがどのように機能するかの裸の例です。
しかし、プロダクション品質のセキュリティで保護されたアプリケーションを作成するには、Roles & MembershipクラスをASP.NETで提供してください。これらは、フォームベースの認証を提供します。これは、使用しようとしている通常のセッションベースの認証よりもはるかに信頼性があります。
あなたはタイムアウトが正しいかを定義する方法を。あなたはそれに問題がありますか? –
はい、その罰金.. –
これは、開始から1分後ではなく、1分間の非アクティブ後に有効期限が切れることを意味します。私の推測では、この質問をしてタイムアウトを正確に入力した場合、それがどのように動作するのか誤解するかもしれません。 –