Sdílet prostřednictvím


DefaultAuthenticationModule.Authenticate Událost

Definice

Nastane po ověření požadavku.

public:
 event System::Web::Security::DefaultAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.DefaultAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.DefaultAuthenticationEventHandler 
Public Custom Event Authenticate As DefaultAuthenticationEventHandler 

Event Type

Příklady

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

Poznámka:

Událost DefaultAuthentication_OnAuthenticate je vyvolána před událostí AuthorizeRequest . Pokud nastavíte User vlastnost aktuální HttpContext instance na vlastní identitu, může to mít vliv na chování vaší aplikace. Pokud například používáte třídu a v oddílu FormsAuthentication konfigurace autorizace zadáte<deny users="?" />, aby k vašemu webu měli přístup jenom ověření uživatelé, tato ukázka způsobí ignorování elementu zamítnutí, protože uživatel bude mít jméno, což je "výchozí". Místo toho byste určili<deny users="default" />, že k vašemu webu budou mít 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

Událost Authenticate se vyvolá po AuthenticateRequest události. Slouží k zajištění, že User vlastnost aktuální HttpContext instance je naplněna objektem IPrincipal .

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 aplikace.

Vlastnost objektu DefaultAuthenticationEventArgs v události DefaultAuthentication_OnAuthenticate můžete použít Context k nastavení User vlastnosti aktuální HttpContext instance na vlastní IPrincipal objekt. Pokud nezadáte hodnotu vlastnosti User , DefaultAuthenticationModule nastaví User vlastnost HttpContext instance na GenericPrincipal objekt, 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 vaší aplikaci, může úprava User vlastnosti aktuální HttpContext instance 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 autorizace v konfiguraci považuje.

Poznámka:

Pokud je webová aplikace spuštěna ve službě IIS 7.0 v integrovaném režimu, Authenticate událost DefaultAuthenticationModule není vyvolána. mode Pokud je atribut elementu konfigurace ověřování nastaven na None a aplikace se přihlásí k odběru Authenticate události, PlatformNotSupportedException vyvolá se chyba. V tomto scénáři obdržíte oznámení o ověření, přihlaste se k odběru AuthenticateRequestHttpApplication události instance. Další informace o problémech s kompatibilitou v integrovaném režimu najdete v tématu Přesunutí aplikace ASP.NET ze služby IIS 6.0 do služby IIS 7.0.

Platí pro

Viz také