Freigeben über


FormsAuthenticationEventArgs-Klasse

Stellt Daten für das FormsAuthentication_OnAuthenticate-Ereignis bereit. Diese Klasse kann nicht geerbt werden.

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public NotInheritable Class FormsAuthenticationEventArgs
    Inherits EventArgs
'Usage
Dim instance As FormsAuthenticationEventArgs
public sealed class FormsAuthenticationEventArgs : EventArgs
public ref class FormsAuthenticationEventArgs sealed : public EventArgs
public final class FormsAuthenticationEventArgs extends EventArgs
public final class FormsAuthenticationEventArgs extends EventArgs

Hinweise

Mit der FormsAuthenticationEventArgs-Klasse werden Ereigniswerte an das FormsAuthentication_OnAuthenticate-Ereignis übergeben und die Angabe einer benutzerdefinierten Identität für die aktuelle Anforderung ermöglicht.

Das FormsAuthenticationModule erstellt mithilfe des aktuellen HttpContext ein FormsAuthenticationEventArgs-Objekt und übergibt es an das FormsAuthentication_OnAuthenticate-Ereignis.

Sie können die User-Eigenschaft des aktuellen HttpContext mit der User-Eigenschaft auf ein benutzerdefiniertes IPrincipal-Objekt festlegen.

Wenn Sie während des FormsAuthentication_OnAuthenticate-Ereignisses keinen Wert für die User-Eigenschaft angeben, wird die vom Formularauthentifizierungsticket im Cookie oder im URL bereitgestellte Identität verwendet.

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

Beispiel

Im folgenden Codebeispiel wird mithilfe des FormsAuthentication_OnAuthenticate-Ereignisses die User-Eigenschaft des aktuellen HttpContext auf ein GenericPrincipal-Objekt mit einer benutzerdefinierten Identity festgelegt.

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
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.");
  }
}

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.EventArgs
    System.Web.Security.FormsAuthenticationEventArgs

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

FormsAuthenticationEventArgs-Member
System.Web.Security-Namespace

Weitere Ressourcen

Formularauthentifizierungsanbieter