Sdílet prostřednictvím


DefaultAuthenticationModule.Authenticate Událost

Definice

Vyvolá se 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á událost DefaultAuthentication_OnAuthenticate k otestování, zda User je nullvlastnost aktuální HttpContext instance . User Pokud je nullvlastnost , pak ukázka nastaví User vlastnost aktuální HttpContext instance 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 aktuální HttpContext instance na vlastní identitu, může to ovlivnit chování vaší aplikace. Pokud například používáte FormsAuthentication třídu a v části konfigurace autorizace zadáte<deny users="?" />, abyste zajistili, že přístup k vašemu webu budou mít jenom ověření uživatelé, tato ukázka způsobí ignorování elementu deny, protože uživatel bude mít název, který je "výchozí". Místo toho byste zadali<deny users="default" />, aby k 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

Událost Authenticate je vyvolána po události AuthenticateRequest . Slouží k zajištění, aby User vlastnost aktuální HttpContext instance byla 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 je vyvolána po události AuthenticateRequest a před událostí AuthorizeRequest . Pokud máte authorization oddíl, 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 instance ovlivnit chování aplikace. Ujistěte se, že uživatelské jméno, které nastavíte během události DefaultAuthentication_OnAuthenticate , je při zadávání oddílu autorizace v konfiguraci zohledněno.

Poznámka

Pokud je webová aplikace spuštěna ve službě IIS 7.0 v integrovaném Authenticate režimu, není vyvolána událost DefaultAuthenticationModule . mode Pokud je atribut elementu konfigurace ověřování nastaven na hodnotu None a aplikace se přihlásí k odběru Authenticate události, PlatformNotSupportedException dojde k chybě. Pokud chcete v tomto scénáři dostávat 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é