Teilen über


DefaultAuthenticationEventHandler Delegat

Definition

Stellt die Methode dar, die das DefaultAuthentication_OnAuthenticate-Element eines DefaultAuthenticationModule darstellt.

public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)

Parameter

sender
Object

Die Quelle des Ereignisses.

e
DefaultAuthenticationEventArgs

Ein DefaultAuthenticationEventArgs, das die Ereignisdaten enthält.

Beispiele

Im folgenden Codebeispiel wird das DefaultAuthentication_OnAuthenticate-Ereignis verwendet, um zu testen, ob die User Eigenschaft des aktuellen HttpContext ist null. Wenn die -Eigenschaft ist null, legt das Beispiel die User Eigenschaft des aktuellen HttpContext auf ein -Objekt fest GenericPrincipal , wobei das Identity des GenericPrincipal -Objekts ein GenericIdentity mit dem Name Wert "default" ist.

Hinweis

Das DefaultAuthentication_OnAuthenticate-Ereignis wird vor dem AuthorizeRequest Ereignis ausgelöst. Wenn Sie die User Eigenschaft der aktuellen HttpContext auf eine benutzerdefinierte Identität festlegen, kann sich dies auf das Verhalten Ihrer Anwendung auswirken. Wenn Sie z. B. die FormsAuthentication -Klasse verwenden und sicherstellen, dass nur authentifizierte Benutzer Zugriff auf Ihre Website haben, führt dieses authorization<deny users="?" />Beispiel dazu, dass das deny Element ignoriert wird, da der Benutzer einen Namen hat, der "Standard" ist. Stattdessen geben Sie an <deny users="default" /> , um sicherzustellen, dass nur authentifizierte Benutzer auf Ihre Website zugreifen können.

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]);
}
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

Hinweise

Der DefaultAuthenticationEventHandler Delegat ist für das Authenticate Ereignis der DefaultAuthenticationModule -Klasse definiert. Sie können auf das Authenticate Ereignis der DefaultAuthenticationModule -Klasse zugreifen, indem Sie eine Unterroutine mit dem Namen DefaultAuthentication_OnAuthenticate in der Datei Global.asax für Ihre ASP.NET Anwendung angeben. Das Authenticate Ereignis wird nach dem AuthenticateRequest Ereignis ausgelöst und wird verwendet, um sicherzustellen, dass die User Eigenschaft des aktuellen HttpContext mit einem IPrincipal -Objekt aufgefüllt wird.

Sie können die Context -Eigenschaft des -Objekts verwenden, das DefaultAuthenticationEventArgs für das DefaultAuthentication_OnAuthenticate-Ereignis bereitgestellt wird, um die User Eigenschaft des current HttpContext auf ein benutzerdefiniertes IPrincipal Objekt festzulegen. Wenn Sie keinen Wert für die User Eigenschaft des während des HttpContext DefaultAuthentication_OnAuthenticate-Ereignisses angegebenen angeben, legt die DefaultAuthenticationModule -UserEigenschaft von 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 Sie über einen authorization Abschnitt verfügen, der vom Benutzernamen abhängig ist, der den Zugriff auf Ihre Anwendung verweigern oder zulassen soll, kann das Ändern der User Eigenschaft der current HttpContext das Verhalten Ihrer Anwendung beeinflussen. Stellen Sie sicher, dass der Benutzername, den Sie während des DefaultAuthentication_OnAuthenticate-Ereignisses festgelegt haben, berücksichtigt wird, wenn Sie den authorization Abschnitt in Ihrer Konfiguration angeben.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für: