私はASP.NETの「セッション」と「フォーム認証」の違いを理解していると思います。セッションは基本的に、そのユーザーのセッションに固有の情報(検索フィルターの状態など)を格納するために使用され、フォーム認証は特定のものにアクセスする必要があることを覚えています。なぜフォーム認証タイムアウトをセッションタイムアウトより長く設定するのですか?
私の質問は、フォームの認証タイムアウトをセッションのタイムアウトよりも長くすることが望ましい理由は何ですか?実際、デフォルトでは、web.configはフォーム認証のタイムアウトをと長く設定します。
- セッション回認証がないフォームの前に:ここで
は、私が見る2つのシナリオがあります。ユーザーは検索フィルターのようなものを失いますが、セキュリティ保護されたページは引き続き表示されますが、状況が異なるように見えたり、さまざまなことがリセットされる可能性があります。さらに、開発者はセッションを使用するたびに
null
になることを心配する必要があります。 - セッションの前にフォームの認証がタイムアウトします。ユーザーはユーザー名とパスワードを再入力する必要がありますが、セッション情報は元のページに戻ります(タイムアウトしていない限り)。開発者は、ログイン時に1つの場所で
null
というセッションを心配する必要があり、必要に応じてそこで初期化することができます。
シナリオ1)がもっと望ましい理由は何ですか?何か不足していますか?
Webアプリケーションのあるクラスで*すべての 'Session'アクセスを行うのは非常に良いアイデアであり、そのクラスは常に' Session'がヌルかどうかを確認し、必要ならばそれを再初期化します。 – Jez