SessionAuthenticationModule.OnAuthenticateRequest(Object, EventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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)。
備註
此方法會執行下列動作:
TryReadSessionTokenFromCookie如果工作階段 Cookie 存在,則叫用 方法以從工作階段 Cookie 讀取 SessionSecurityToken 。
如果工作階段安全性權杖無法讀取 (最有可能是因為工作階段尚未建立) ,則傳回 。
叫用 OnSessionSecurityTokenReceived 方法來引發 SessionSecurityTokenReceived 事件。 這可讓您從 Cookie 讀取令牌,或取消要求。 處理程式也可以藉由設定 SessionSecurityTokenReceivedEventArgs.ReissueCookie 屬性來指定應該重新發出令牌。
如果要重新發出令牌,請將它從快取中移除,並叫 OnSessionSecurityTokenCreated 用 方法來引發 SessionSecurityTokenCreated 事件。 這可讓您再次修改令牌。 您也可以藉由在事件處理程式中設定 SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 屬性來修改重新發出行為。
叫用 AuthenticateSessionSecurityToken 方法來驗證使用者。 如果成功,這會影響將 屬性設定 Thread.CurrentPrincipal 為傳入令牌之 屬性中包含的 SessionSecurityToken.ClaimsPrincipal 主體。
如果會話已過期,請叫用 SignOut 方法。
方法OnAuthenticateRequest會新增至 方法中InitializeModule事件的處理程式HttpApplication.AuthenticateRequest。