DefaultAuthenticationEventHandler Delegát
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í.
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
A DefaultAuthenticationEventArgs obsahující data 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. |