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
- AspNetHostingPermission zur Verwendung der FormsAuthenticationEventArgs-Klasse in einer Hostumgebung. Anforderungswert: LinkDemand. Berechtigungswert: Minimal.
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