Freigeben über


DefaultAuthenticationEventArgs-Konstruktor

Initialisiert eine neue Instanz der DefaultAuthenticationEventArgs-Klasse.

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

Syntax

'Declaration
Public Sub New ( _
    context As HttpContext _
)
'Usage
Dim context As HttpContext

Dim instance As New DefaultAuthenticationEventArgs(context)
public DefaultAuthenticationEventArgs (
    HttpContext context
)
public:
DefaultAuthenticationEventArgs (
    HttpContext^ context
)
public DefaultAuthenticationEventArgs (
    HttpContext context
)
public function DefaultAuthenticationEventArgs (
    context : HttpContext
)

Parameter

  • context
    Der Kontext für das Ereignis.

Hinweise

Das DefaultAuthenticationModule-Objekt erstellt mithilfe des aktuellen HttpContext ein DefaultAuthenticationEventArgs-Objekt und übergibt es an das DefaultAuthentication_OnAuthenticate-Ereignis.

Sie können die Context-Eigenschaft des für das DefaultAuthentication_OnAuthenticate-Ereignis bereitgestellten DefaultAuthenticationEventArgs-Objekts verwenden, um die User-Eigenschaft des aktuellen HttpContext für ein benutzerdefiniertes IPrincipal-Objekt festzulegen. Wenn Sie keinen Wert für die User-Eigenschaft des HttpContext angeben, auf den die Context-Eigenschaft verweist, legt das DefaultAuthenticationModule die User-Eigenschaft des HttpContext auf ein GenericPrincipal-Objekt fest, das keine Benutzerinformationen enthält.

Das DefaultAuthentication_OnAuthenticate-Ereignis wird nach dem AuthenticateRequest-Ereignis und vor dem AuthorizeRequest-Ereignis ausgelöst. Wenn ein authorization-Abschnitt vorhanden ist, bei dem je nach Benutzernamen der Zugriff auf die Anwendung gewährt oder verweigert wird, beeinflusst ein Ändern der User-Eigenschaft des aktuellen HttpContext möglicherweise das Verhalten der Anwendung. Sie müssen den während des DefaultAuthentication_OnAuthenticate-Ereignisses festgelegten Benutzernamen berücksichtigen, wenn Sie den authorization-Abschnitt in der Konfiguration angeben.

Beispiel

Im folgenden Codebeispiel wird mithilfe des DefaultAuthentication_OnAuthenticate-Ereignisses überprüft, ob die User-Eigenschaft des aktuellen HttpContext NULL (Nothing in Visual Basic) ist. Wenn die Eigenschaft NULL (Nothing in Visual Basic) ist, wird im Beispiel die User-Eigenschaft des aktuellen HttpContext auf ein GenericPrincipal-Objekt festgelegt, wobei es sich bei derIdentity-Eigenschaft des GenericPrincipal-Objekts um ein GenericIdentity-Objekt mit dem Name-Eigenschaftenwert "default" handelt.

Hinweis

Das DefaultAuthentication_OnAuthenticate-Ereignis wird vor dem AuthorizeRequest-Ereignis ausgelöst. Daraus ergibt sich, dass beim Festlegen der User-Eigenschaft des aktuellen HttpContext auf eine benutzerdefinierte Identität das Verhalten der Anwendung beeinflusst werden kann. Wenn Sie beispielsweise die FormsAuthentication-Klasse verwenden und sicherstellen, dass nur authentifizierte Benutzer auf die Site zugreifen können, wird das deny-Element durch die Verwendung des Abschnitts authorization und die Angabe von <deny users="?" /> in diesem Beispiel ignoriert, da der Benutzer den Namen "default" trägt. Sie würden hingegen <deny users="default" /> angeben, damit ausschließlich authentifizierte Benutzer auf die Site zugreifen können.

Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub
public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}

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

DefaultAuthenticationEventArgs-Klasse
DefaultAuthenticationEventArgs-Member
System.Web.Security-Namespace

Weitere Ressourcen

Authentifizierung in ASP.NET