Sdílet prostřednictvím


DefaultAuthenticationEventHandler Delegát

Definice

Představuje metodu, která zpracovává DefaultAuthentication_OnAuthenticate události 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

Příklady

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

Poznámka:

Událost DefaultAuthentication_OnAuthenticate je vyvolána před událostí AuthorizeRequest . Pokud nastavíte User vlastnost aktuální HttpContext na vlastní identitu, může to mít vliv na chování vaší aplikace. Pokud například používáte FormsAuthentication třídu a zajišťujete, aby k vašemu webu měli přístup jenom ověření uživatelé, a to pomocí oddílu authorization a určením <deny users="?" />, tato ukázka způsobí ignorování elementu deny , protože uživatel bude mít jméno, což je výchozí. Místo toho byste zadali <deny users="default" /> , aby k vašemu webu měli přístup 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 přistupovat Authenticate zadáním podprogramu s názvem DefaultAuthentication_OnAuthenticate v souboru Global.asax pro vaši ASP.NET aplikaci. Událost Authenticate se vyvolá po AuthenticateRequest události a slouží k zajištění, že User vlastnost aktuálního HttpContext objektu je naplněna IPrincipal .

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

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

Metody rozšíření

Name Description
GetMethodInfo(Delegate)

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

Platí pro