Share via


DefaultAuthenticationEventArgs(HttpContext) Konstruktor

Definice

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 nullvlastnost aktuálního HttpContext kódu . Pokud je nullvlastnost , 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.

Platí pro

Viz také