DefaultAuthenticationEventArgs(HttpContext) Konstruktor
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy DefaultAuthenticationEventArgs.
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
Kontekst zdarzenia.
Przykłady
Poniższy przykład kodu używa zdarzenia DefaultAuthentication_OnAuthenticate do testowania, czy User właściwość bieżącego HttpContext to null
. Jeśli właściwość to null
, przykład ustawia User właściwość bieżącego HttpContext obiektu na GenericPrincipal obiekt, w którym Identity właściwość GenericPrincipal obiektu jest GenericIdentity obiektem o Name wartości właściwości "default".
Uwaga
Zdarzenie DefaultAuthentication_OnAuthenticate jest zgłaszane przed zdarzeniem AuthorizeRequest . W związku z tym jeśli ustawisz User właściwość bieżącej HttpContext tożsamości niestandardowej, może to mieć wpływ na zachowanie aplikacji. Jeśli na przykład używasz FormsAuthentication klasy i upewnisz się, że tylko uwierzytelnieni użytkownicy mają dostęp do witryny, przy użyciu sekcji i określeniu authorization
parametru <deny users="?" />
, element w tym przykładzie zostanie deny
zignorowany, ponieważ użytkownik będzie miał nazwę , która jest "domyślna". Zamiast tego należy określić <deny users="default" />
, aby upewnić się, że tylko uwierzytelnieni użytkownicy mogą uzyskiwać dostęp do witryny.
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
Uwagi
Obiekt DefaultAuthenticationModule tworzy DefaultAuthenticationEventArgs obiekt przy użyciu bieżącego HttpContext elementu i przekazuje go do zdarzenia DefaultAuthentication_OnAuthenticate .
Można użyć Context właściwości obiektu dostarczonego DefaultAuthenticationEventArgs do zdarzenia DefaultAuthentication_OnAuthenticate , aby ustawić User właściwość bieżącego HttpContext obiektu na obiekt niestandardowy IPrincipal . Jeśli nie określisz wartości właściwościHttpContext, do User której odwołuje Context się właściwość , ustawia User właściwość HttpContext obiektu na GenericPrincipal obiekt, DefaultAuthenticationModule który nie zawiera żadnych informacji o użytkowniku.
Zdarzenie DefaultAuthentication_OnAuthenticate jest zgłaszane po AuthenticateRequest zdarzeniu i przed zdarzeniem AuthorizeRequest . Jeśli masz sekcję authorization
, która zależy od nazwy użytkownika do odmowy lub zezwolenia na dostęp do aplikacji, modyfikowanie User właściwości bieżącej HttpContext może mieć wpływ na zachowanie aplikacji. Upewnij się, że nazwa użytkownika ustawiona podczas zdarzenia DefaultAuthentication_OnAuthenticate jest uwzględniana podczas określania authorization
sekcji w konfiguracji.
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla