SessionAuthenticationModule.OnAuthenticateRequest(Object, EventArgs) メソッド

定義

AuthenticateRequest ASP.NET パイプラインからイベントを処理します。

protected:
 virtual void OnAuthenticateRequest(System::Object ^ sender, EventArgs ^ eventArgs);
protected virtual void OnAuthenticateRequest (object sender, EventArgs eventArgs);
abstract member OnAuthenticateRequest : obj * EventArgs -> unit
override this.OnAuthenticateRequest : obj * EventArgs -> unit
Protected Overridable Sub OnAuthenticateRequest (sender As Object, eventArgs As EventArgs)

パラメーター

sender
Object

イベントのソース。 これは HttpApplication オブジェクトです。

eventArgs
EventArgs

イベントのデータ。

例外

有効なセッション トークン ハンドラーが構成されていません。 (SessionSecurityTokenHandler プロパティに SecurityTokenHandlers が構成されていません)

注釈

このメソッドは、次の処理を行います。

  1. セッション Cookie が TryReadSessionTokenFromCookie 存在する場合は、 メソッドを呼び出してセッション Cookie から を SessionSecurityToken 読み取ります。

  2. セッション セキュリティ トークンを読み取ることができない場合 (セッションが確立されていない可能性が高い) は、 を返します。

  3. メソッドを OnSessionSecurityTokenReceived 呼び出して イベントを SessionSecurityTokenReceived 発生させます。 これにより、Cookie から読み取られたトークンが変更されたり、要求が取り消されたりする機会が得られます。 ハンドラーでは、 プロパティを設定 SessionSecurityTokenReceivedEventArgs.ReissueCookie することで、トークンを再発行する必要があることを指定することもできます。

  4. トークンを再発行する場合は、キャッシュからトークンを削除し、 メソッドを OnSessionSecurityTokenCreated 呼び出してイベントを SessionSecurityTokenCreated 発生させます。 これにより、トークンを再び変更する機会が提供されます。 再発行の動作は、イベント ハンドラーで プロパティを SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 設定することによっても変更できます。

  5. メソッドを AuthenticateSessionSecurityToken 呼び出してユーザーを認証します。 成功した場合は、受信トークンの プロパティに含まれるプリンシパルに プロパティをSessionSecurityToken.ClaimsPrincipal設定Thread.CurrentPrincipalする効果があります。

  6. セッションの有効期限が切れている場合は、 メソッドを SignOut 呼び出します。

メソッドは OnAuthenticateRequest 、 メソッド内の イベントの HttpApplication.AuthenticateRequest ハンドラーに InitializeModule 追加されます。

適用対象