Freigeben über


FormsAuthenticationEventHandler Delegat

Definition

Stellt die Methode dar, die das FormsAuthentication_OnAuthenticate Ereignis eines .FormsAuthenticationModule

public delegate void FormsAuthenticationEventHandler(System::Object ^ sender, FormsAuthenticationEventArgs ^ e);
public delegate void FormsAuthenticationEventHandler(object sender, FormsAuthenticationEventArgs e);
type FormsAuthenticationEventHandler = delegate of obj * FormsAuthenticationEventArgs -> unit
Public Delegate Sub FormsAuthenticationEventHandler(sender As Object, e As FormsAuthenticationEventArgs)

Parameter

sender
Object

Die Quelle des Ereignisses.

e
FormsAuthenticationEventArgs

Ein FormsAuthenticationEventArgs Objekt, das die Ereignisdaten enthält.

Beispiele

Im folgenden Codebeispiel wird das FormsAuthentication_OnAuthenticate-Ereignis verwendet, um die User Eigenschaft des aktuellen HttpContext Objekts auf ein GenericPrincipal Objekt mit einer benutzerdefinierten IdentityEigenschaft festzulegen.

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

Hinweise

Der Delegat FormsAuthenticationEventHandler wird für das Authenticate Ereignis der FormsAuthenticationModule Klasse definiert. Sie können auf das Authenticate Ereignis der FormsAuthenticationModule Klasse zugreifen, indem Sie eine Unterroutine namens FormsAuthentication_OnAuthenticate in der Datei "Global.asax" für Ihre ASP.NET Anwendung angeben. Das Authenticate Ereignis wird während des Ereignisses AuthenticateRequest ausgelöst.

Das FormsAuthenticationModule Objekt wird FormsAuthenticationEventArgs mithilfe des aktuellen HttpContext Objekts erstellt und an das FormsAuthentication_OnAuthenticate-Ereignis übergeben.

Sie können die User Eigenschaft des Objekts verwenden, das FormsAuthenticationEventArgs dem FormsAuthentication_OnAuthenticate-Ereignis bereitgestellt wird, um die User Eigenschaft des aktuellen HttpContext Objekts auf ein benutzerdefiniertes IPrincipal Objekt festzulegen. Wenn Sie während des FormsAuthentication_OnAuthenticate-Ereignisses keinen Wert für die User Eigenschaft angeben, wird die vom Formularauthentifizierungsticket im Cookie oder der URL angegebene Identität verwendet.

Das FormsAuthentication_OnAuthenticate-Ereignis wird nur ausgelöst, wenn die Authentifizierung Mode auf ein FormsAuthenticationModule aktives HTTP-Modul für die Anwendung festgelegt Forms ist.

Erweiterungsmethoden

Name Beschreibung
GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt.

Gilt für:

Weitere Informationen