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á událost DefaultAuthentication_OnAuthenticate objektu 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 , který obsahuje data události.
Příklady
Následující příklad kódu používá událost DefaultAuthentication_OnAuthenticate k otestování, zda User je null
vlastnost aktuálního HttpContext objektu . Pokud je null
vlastnost , ukázka nastaví User vlastnost current HttpContext 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 current HttpContext na vlastní identitu, může to ovlivnit chování vaší aplikace. Pokud například používáte třídu a zajišťujete, aby přístup k vašemu FormsAuthentication webu měli jenom ověření uživatelé, pomocí oddílu authorization
a zadáním <deny users="?" />
této ukázky způsobí deny
, že element bude ignorován, protože uživatel bude mít název, který je "výchozí". Místo toho byste zadali <deny users="default" />
, aby měli přístup k vašemu webu 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 získat přístup Authenticate zadáním podprogramu s názvem DefaultAuthentication_OnAuthenticate v souboru Global.asax pro vaši aplikaci ASP.NET. Událost Authenticate je vyvolána po AuthenticateRequest události a slouží k zajištění, že User vlastnost aktuální HttpContext je naplněna objektem IPrincipal .
Pomocí vlastnosti objektu zadaného DefaultAuthenticationEventArgsdo události DefaultAuthentication_OnAuthenticate můžete Context nastavit User vlastnost aktuálního HttpContext objektu na vlastní IPrincipal objekt. Pokud nezadáte hodnotu vlastnosti UserHttpContext zadané během události DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule nastaví User vlastnost objektu HttpContext na GenericPrincipal objekt, který neobsahuje žádné informace o uživateli.
Událost DefaultAuthentication_OnAuthenticate je vyvolána po AuthenticateRequest události a před událostíAuthorizeRequest. Pokud máte oddíl authorization
, 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 ovlivnit chování vaší aplikace. Ujistěte se, že uživatelské jméno, které jste nastavili během události DefaultAuthentication_OnAuthenticate , je při zadání oddílu authorization
v konfiguraci zváženo.
Metody rozšíření
GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |