DefaultAuthenticationEventArgs(HttpContext) Konstruktor
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í.
Inicializuje novou instanci DefaultAuthenticationEventArgs třídy.
public:
DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs(System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)
Parametry
- context
- HttpContext
Kontext 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 , příklad nastaví User vlastnost aktuální HttpContext na GenericPrincipal objekt, kde Identity vlastnost GenericPrincipal objektu je GenericIdentity objekt s Name hodnotou vlastnosti "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="?" />, způsobíte ignorování elementu deny v tomto příkladu, 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
Objekt DefaultAuthenticationModule vytvoří DefaultAuthenticationEventArgs objekt pomocí aktuálního HttpContext objektu a předá ho DefaultAuthentication_OnAuthenticate události.
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 odkazované Context vlastností, 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.