Freigeben über


FormsAuthenticationEventHandler Delegat

Definition

Stellt die Methode dar, die das FormsAuthentication_OnAuthenticate-Ereignis eines FormsAuthenticationModule-Objekts behandelt.

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, das die Ereignisdaten enthält.

Beispiele

Im folgenden Codebeispiel wird das FormsAuthentication_OnAuthenticate-Ereignis verwendet, um die User Eigenschaft des current HttpContext auf ein GenericPrincipal Objekt mit einem benutzerdefinierten Identityfestzulegen.

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 FormsAuthenticationEventHandler Delegat ist für das Authenticate Ereignis der FormsAuthenticationModule -Klasse definiert. Sie können auf das Authenticate Ereignis der FormsAuthenticationModule -Klasse zugreifen, indem Sie eine Unterroutine mit dem Namen 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.

Der FormsAuthenticationModule erstellt ein FormsAuthenticationEventArgs -Objekt unter Verwendung des aktuellen HttpContext und übergibt es an das FormsAuthentication_OnAuthenticate-Ereignis .

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

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

Erweiterungsmethoden

GetMethodInfo(Delegate)

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

Gilt für:

Weitere Informationen