ASP.NET (2.0) アプリケーションでは、FormsAuthentication を使用します。
Global.asax / Application_AuthenticateRequest メソッドで、HttpContext.Current.User が null かどうかを確認します。
フォーム認証 Cookie が存在するかどうか、チケットの有効期限が切れていないかどうか、およびフォーム認証メカニズムがユーザーを検証するジョブを完了したかどうかを知るには、これで十分でしょうか?
そのアプリケーションには特定のページがあり、(いくつかの基準に基づいて) アクセスするために認証を必要としない場合があり、それらを除外するために web.config の別の「場所」ディレクティブに配置するため、これが必要です。 「キャッチオール」フォーム認証から。
つまり、この「場所」でアクセスされたページに保護が必要かどうかを Application_AuthenticateRequest で確認しようとしています。必要な場合は、ユーザーが既に認証されているかどうかを確認するか、ログオンにリダイレクトする必要があります。
編集:答えが示唆するように、おそらく IsAuthenticated を使用します。私がそれをよりよく理解するために、ここに2つのボーナス質問があります:) (他の回答を編集してこれらを追加してください、ありがとう):
IsAuthenticated が true の場合、HttpContext.Current.User には認証されたユーザーのユーザー名が確実に含まれると仮定できますか?
FormsAuthentication が適用され、「location」ディレクティブで除外されるページが少ない場合、HttpContext.Current.User で「匿名ユーザー」になるにはどうすればよいですか?