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 中读取 SessionSecurityToken (如果存在)。
如果由于) 尚未建立会话而无法读取会话安全令牌 (,则返回 。
OnSessionSecurityTokenReceived调用 方法以引发 SessionSecurityTokenReceived 事件。 这为从 Cookie 读取的令牌提供了修改或取消请求的机会。 处理程序还可以通过设置 SessionSecurityTokenReceivedEventArgs.ReissueCookie 属性来指定应重新颁发令牌。
如果要重新颁发令牌,请将其从缓存中删除,并调用 OnSessionSecurityTokenCreated 方法来引发 SessionSecurityTokenCreated 事件。 这为再次修改令牌提供了机会。 还可以通过在事件处理程序中设置 SessionSecurityTokenCreatedEventArgs.WriteSessionCookie 属性来修改重新发出行为。
调用 AuthenticateSessionSecurityToken 方法对用户进行身份验证。 如果成功,则会将 属性设置为 Thread.CurrentPrincipal 传入令牌的 属性中包含的 SessionSecurityToken.ClaimsPrincipal 主体。
如果会话已过期,则 SignOut 调用 方法。
方法 OnAuthenticateRequest 将添加到 方法中 事件的处理程序 HttpApplication.AuthenticateRequest 中 InitializeModule 。