DefaultAuthenticationModule.Authenticate Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.