FormsAuthenticationModule.Authenticate-Ereignis
Tritt ein, wenn die Anwendung die aktuelle Anforderung authentifiziert.
Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Event Authenticate As FormsAuthenticationEventHandler
'Usage
Dim instance As FormsAuthenticationModule
Dim handler As FormsAuthenticationEventHandler
AddHandler instance.Authenticate, handler
public event FormsAuthenticationEventHandler Authenticate
public:
event FormsAuthenticationEventHandler^ Authenticate {
void add (FormsAuthenticationEventHandler^ value);
void remove (FormsAuthenticationEventHandler^ value);
}
/** @event */
public void add_Authenticate (FormsAuthenticationEventHandler value)
/** @event */
public void remove_Authenticate (FormsAuthenticationEventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.
Hinweise
Das Authenticate-Ereignis wird während des AuthenticateRequest-Ereignisses ausgelöst.
Sie können das Authenticate-Ereignis der FormsAuthenticationModule-Klasse behandeln, indem Sie in der Datei Global.asax für die ASP.NET-Anwendung eine Unterroutine mit dem Namen FormsAuthentication_OnAuthenticate angeben.
Sie können die für das FormsAuthentication_OnAuthenticate-Ereignis bereitgestellte FormsAuthenticationEventArgsUser-Eigenschaft verwenden, 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 vom Formularauthentifizierungsticket im Cookie oder URL bereitgestellte Identität verwendet.
Das FormsAuthentication_OnAuthenticate-Ereignis wird nur ausgelöst, wenn der Authentifizierungsmodus im authentication-Element (ASP.NET-Einstellungsschema)-Element der Konfigurationsdatei der Anwendung auf Forms festgelegt ist 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.");
}
}
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
FormsAuthenticationModule-Klasse
FormsAuthenticationModule-Member
System.Web.Security-Namespace