Freigeben über


FormsAuthenticationModule.Authenticate Ereignis

Definition

Tritt auf, wenn die Anwendung die aktuelle Anforderung authentifiziert.

public:
 event System::Web::Security::FormsAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.FormsAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.FormsAuthenticationEventHandler 
Public Custom Event Authenticate As FormsAuthenticationEventHandler 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird das FormsAuthentication_OnAuthenticate-Ereignis verwendet, um die User Eigenschaft des aktuellen Objekts auf ein GenericPrincipal Objekt festzulegen, das über einen benutzerdefinierten HttpContextIdentityWert verfügt.

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

Das Authenticate Ereignis wird während des Ereignisses AuthenticateRequest ausgelöst.

Sie können das Authenticate Ereignis der FormsAuthenticationModule Klasse behandeln, indem Sie eine Unterroutine namens FormsAuthentication_OnAuthenticate in der Datei "Global.asax" für Ihre ASP.NET-Anwendung angeben.

Sie können die für FormsAuthenticationEventArgsUser das FormsAuthentication_OnAuthenticate-Ereignis bereitgestellte Eigenschaft verwenden, 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 der Authentifizierungsmodus im Authentifizierungselementelement (ASP.NET Settings Schema) der Konfigurationsdatei der Anwendung und ein FormsAuthenticationModule aktives HTTP-Modul für die Anwendung festgelegt Forms ist.

Gilt für:

Weitere Informationen