FormsAuthenticationEventArgs 类

定义

为 FormsAuthentication_OnAuthenticate 事件提供数据。 此类不能被继承。

public ref class FormsAuthenticationEventArgs sealed : EventArgs
public sealed class FormsAuthenticationEventArgs : EventArgs
type FormsAuthenticationEventArgs = class
    inherit EventArgs
Public NotInheritable Class FormsAuthenticationEventArgs
Inherits EventArgs
继承
FormsAuthenticationEventArgs

示例

下面的代码示例使用 FormsAuthentication_OnAuthenticate 事件将当前 HttpContextGenericPrincipal 的 属性设置为User具有自定义 Identity的 对象。

public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args)
{
  if (FormsAuthentication.CookiesSupported)
  {
    if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
    {
      try
      {
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(
          Request.Cookies[FormsAuthentication.FormsCookieName].Value);
        
        args.User = new System.Security.Principal.GenericPrincipal(
          new Samples.AspNet.Security.MyFormsIdentity(ticket),
          new string[0]);
      }
      catch (Exception e)
      {
        // Decrypt method failed.
      }
    }
  }
  else
  {
    throw new HttpException("Cookieless Forms Authentication is not " +
                            "supported for this application.");
  }
}
Public Sub FormsAuthentication_OnAuthenticate(sender As Object, _
                                              args As FormsAuthenticationEventArgs)
  If FormsAuthentication.CookiesSupported Then
    If Not Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing Then
      Try
        Dim ticket As FormsAuthenticationTicket = FormsAuthentication.Decrypt( _
          Request.Cookies(FormsAuthentication.FormsCookieName).Value)
        
        args.User = New System.Security.Principal.GenericPrincipal( _
          New Samples.AspNet.Security.MyFormsIdentity(ticket), _
          New String(0) {})
      Catch e As HttpException
        ' Decrypt method failed.
      End Try
    End If
  Else
      Throw New Exception("Cookieless Forms Authentication is not " & _
                            "supported for this application.")
  End If
End Sub

注解

FormsAuthenticationEventArgs 用于向 FormsAuthentication_OnAuthenticate 事件提供事件值,并使你能够指定当前请求的自定义标识。

使用FormsAuthenticationModule当前 HttpContext 构造FormsAuthenticationEventArgs对象,并将其传递给 FormsAuthentication_OnAuthenticate 事件。

可以使用 User 属性将当前 HttpContext 对象的 属性设置为User自定义IPrincipal对象。

如果在FormsAuthentication_OnAuthenticate事件期间未为 User 属性指定值,则使用 cookie 或 URL 中的表单身份验证票证提供的标识。

仅当身份验证Mode设置为 Forms 并且 是应用程序的活动 HTTP 模块时,FormsAuthenticationModule才会引发 FormsAuthentication_OnAuthenticate 事件。

构造函数

FormsAuthenticationEventArgs(HttpContext)

初始化 FormsAuthenticationEventArgs 类的新实例。

属性

Context

为当前 HTTP 请求获取 HttpContext 对象。

User

获取或设置要与当前请求关联的 IPrincipal 对象。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅