DefaultAuthenticationEventHandler Delegat
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.
Reprezentuje metodę, która obsługuje zdarzenie DefaultAuthentication_OnAuthenticate obiektu 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
Źródło zdarzenia.
Element DefaultAuthenticationEventArgs zawierający dane zdarzenia.
Przykłady
Poniższy przykład kodu używa zdarzenia DefaultAuthentication_OnAuthenticate do sprawdzenia, czy User właściwość bieżącego HttpContext to null
. Jeśli właściwość ma null
wartość , przykład ustawia User właściwość bieżącego HttpContext obiektu na GenericPrincipal obiekt, gdzie obiekt IdentityGenericPrincipal jest wartością GenericIdentityName "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 na tożsamość niestandardową, 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, używając authorization
sekcji i określając <deny users="?" />
parametr , ten przykład spowoduje deny
zignorowanie elementu, 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
Delegat DefaultAuthenticationEventHandler jest zdefiniowany dla Authenticate zdarzenia DefaultAuthenticationModule klasy. Dostęp do zdarzenia DefaultAuthenticationModule klasy można uzyskaćAuthenticate, określając podproceduty o nazwie DefaultAuthentication_OnAuthenticate w pliku Global.asax dla aplikacji ASP.NET. Zdarzenie Authenticate jest wywoływane po zdarzeniu AuthenticateRequest i służy do zapewnienia, że User właściwość bieżącego HttpContext jest wypełniona obiektem IPrincipal .
Możesz 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ści User dostarczonej HttpContext podczas zdarzenia DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule ustawia User właściwość HttpContext obiektu na GenericPrincipal obiekt, który nie zawiera 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.
Metody rozszerzania
GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |