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á událost DefaultAuthentication_OnAuthenticate k otestování, zda User je null
vlastnost aktuálního HttpContext kódu . Pokud je null
vlastnost , příklad nastaví User vlastnost aktuálního HttpContext objektu GenericPrincipal na objekt, kde Identity vlastností objektu GenericPrincipalGenericIdentity je objekt s Name hodnotou vlastnosti "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 na vlastní identitu, může to ovlivnit chování vaší aplikace. Pokud například používáte třídu a chcete zajistit, aby k vašemu FormsAuthentication webu měli přístup pouze ověření uživatelé, pomocí oddílu authorization
a zadáním <deny users="?" />
příkazu způsobíte deny
ignorování prvku v tomto příkladu, protože uživatel bude mít název, který je "výchozí". Místo toho byste zadali <deny users="default" />
, abyste zajistili, ž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
Objekt DefaultAuthenticationModule vytvoří DefaultAuthenticationEventArgs objekt pomocí aktuálního HttpContext a předá ho události DefaultAuthentication_OnAuthenticate .
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 pro User vlastnost HttpContext odkazovanou Context vlastností, DefaultAuthenticationModule nastaví User vlastnost objektu HttpContext 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, změna User vlastnosti aktuálního HttpContext může ovlivnit chování vaší aplikace. Ujistěte se, že uživatelské jméno, které nastavíte během události DefaultAuthentication_OnAuthenticate , je při zadání oddílu authorization
v konfiguraci zohledněno.