FormsAuthenticationModule-Klasse
Legt die Identität des Benutzers für eine ASP.NET-Anwendung fest, wenn die Formularauthentifizierung aktiviert ist. Diese Klasse kann nicht geerbt werden.
Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public NotInheritable Class FormsAuthenticationModule
Implements IHttpModule
'Usage
Dim instance As FormsAuthenticationModule
public sealed class FormsAuthenticationModule : IHttpModule
public ref class FormsAuthenticationModule sealed : IHttpModule
public final class FormsAuthenticationModule implements IHttpModule
public final class FormsAuthenticationModule implements IHttpModule
Hinweise
Das FormsAuthenticationModule legt die aktuelle HttpContext.User-Eigenschaft auf ein IPrincipal-Objekt fest, das die Benutzeridentität für die aktuelle Anforderung darstellt, wenn die Authentifizierung Mode im authentication-Element (ASP.NET-Einstellungsschema)-Element der Konfigurationsdatei der Anwendung auf Forms festgelegt ist.
Das FormsAuthenticationModule macht ein Authenticate-Ereignis verfügbar, mit dem Sie ein benutzerdefiniertes IPrincipal-Objekt für die User-Eigenschaft des aktuellen HttpContext bereitstellen können. Der Zugriff auf das Authenticate-Ereignis erfolgt durch Angeben einer Unterroutine mit dem Namen FormsAuthentication_OnAuthenticate in der Datei Global.asax für die ASP.NET-Anwendung.
Beispiel
Im folgenden Beispiel wird das FormsAuthentication_OnAuthenticate-Ereignis verwendet, um die User-Eigenschaft des aktuellen HttpContext an ein benutzerdefiniertes IPrincipal-Objekt zu binden.
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 für das Verwenden der FormsAuthenticationModule-Klasse in einer Hostumgebung. Anforderungswert: LinkDemand. Berechtigungswert: Minimal.
Vererbungshierarchie
System.Object
System.Web.Security.FormsAuthenticationModule
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
FormsAuthenticationModule-Member
System.Web.Security-Namespace