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. TryReadSessionTokenFromCookie如果工作階段 Cookie 存在,則叫用 方法以從工作階段 Cookie 讀取 SessionSecurityToken

  2. 如果工作階段安全性權杖無法讀取 (最有可能是因為工作階段尚未建立) ,則傳回 。

  3. 叫用 OnSessionSecurityTokenReceived 方法來引發 SessionSecurityTokenReceived 事件。 這可讓您從 Cookie 讀取令牌,或取消要求。 處理程式也可以藉由設定 SessionSecurityTokenReceivedEventArgs.ReissueCookie 屬性來指定應該重新發出令牌。

  4. 如果要重新發出令牌,請將它從快取中移除,並叫 OnSessionSecurityTokenCreated 用 方法來引發 SessionSecurityTokenCreated 事件。 這可讓您再次修改令牌。 您也可以藉由在事件處理程式中設定 SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 屬性來修改重新發出行為。

  5. 叫用 AuthenticateSessionSecurityToken 方法來驗證使用者。 如果成功,這會影響將 屬性設定 Thread.CurrentPrincipal 為傳入令牌之 屬性中包含的 SessionSecurityToken.ClaimsPrincipal 主體。

  6. 如果會話已過期,請叫用 SignOut 方法。

方法OnAuthenticateRequest會新增至 方法中InitializeModule事件的處理程式HttpApplication.AuthenticateRequest

適用於