Sdílet prostřednictvím


DefaultAuthenticationEventHandler Delegát

Definice

Představuje metodu, která zpracovává událost DefaultAuthentication_OnAuthenticate objektu DefaultAuthenticationModule.

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)

Parametry

sender
Object

Zdroj události

e
DefaultAuthenticationEventArgs

A DefaultAuthenticationEventArgs , který obsahuje data události.

Příklady

Následující příklad kódu používá událost DefaultAuthentication_OnAuthenticate k otestování, zda User je nullvlastnost aktuálního HttpContext objektu . Pokud je nullvlastnost , ukázka nastaví User vlastnost current HttpContext na GenericPrincipal objekt, kde Identity hodnota objektu GenericPrincipal je GenericIdentity s Name hodnotou "default".

Poznámka

Událost DefaultAuthentication_OnAuthenticate je vyvolána před událostí AuthorizeRequest . V důsledku toho, pokud nastavíte User vlastnost current HttpContext na vlastní identitu, může to ovlivnit chování vaší aplikace. Pokud například používáte třídu a zajišťujete, aby přístup k vašemu FormsAuthentication webu měli jenom ověření uživatelé, pomocí oddílu authorization a zadáním <deny users="?" />této ukázky způsobí deny , že element bude ignorován, protože uživatel bude mít název, který je "výchozí". Místo toho byste zadali <deny users="default" /> , aby měli přístup k vašemu webu jenom ověření uživatelé.

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

Poznámky

Delegát DefaultAuthenticationEventHandler je definován pro Authenticate událost DefaultAuthenticationModule třídy. K události DefaultAuthenticationModule třídy můžete získat přístup Authenticate zadáním podprogramu s názvem DefaultAuthentication_OnAuthenticate v souboru Global.asax pro vaši aplikaci ASP.NET. Událost Authenticate je vyvolána po AuthenticateRequest události a slouží k zajištění, že User vlastnost aktuální HttpContext je naplněna objektem IPrincipal .

Pomocí vlastnosti objektu zadaného DefaultAuthenticationEventArgsdo události DefaultAuthentication_OnAuthenticate můžete Context nastavit User vlastnost aktuálního HttpContext objektu na vlastní IPrincipal objekt. Pokud nezadáte hodnotu vlastnosti UserHttpContext zadané během události DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule nastaví User vlastnost objektu HttpContext na GenericPrincipal objekt, který neobsahuje žádné informace o uživateli.

Událost DefaultAuthentication_OnAuthenticate je vyvolána po AuthenticateRequest události a před událostíAuthorizeRequest. Pokud máte oddíl authorization , který závisí na uživatelském jménu pro odepření nebo povolení přístupu k aplikaci, může úprava User vlastnosti aktuální HttpContext ovlivnit chování vaší aplikace. Ujistěte se, že uživatelské jméno, které jste nastavili během události DefaultAuthentication_OnAuthenticate , je při zadání oddílu authorization v konfiguraci zváženo.

Metody rozšíření

GetMethodInfo(Delegate)

Získá objekt, který představuje metodu reprezentovanou zadaným delegátem.

Platí pro