Udostępnij za pośrednictwem


WSFederationAuthenticationModule.OnAuthenticateRequest Metoda

Definicja

AuthenticateRequest Obsługuje zdarzenie z potoku ASP.NET.

protected:
 virtual void OnAuthenticateRequest(System::Object ^ sender, EventArgs ^ args);
protected virtual void OnAuthenticateRequest (object sender, EventArgs args);
abstract member OnAuthenticateRequest : obj * EventArgs -> unit
override this.OnAuthenticateRequest : obj * EventArgs -> unit
Protected Overridable Sub OnAuthenticateRequest (sender As Object, args As EventArgs)

Parametry

sender
Object

Źródło zdarzenia. Będzie HttpApplication to obiekt.

args
EventArgs

Dane zdarzenia.

Uwagi

Metoda OnAuthenticateRequest implementuje potok przetwarzania żądań WS-Federation. Jest on dodawany do HttpApplication.AuthenticateRequest zdarzenia w potoku ASP.NET przez metodę InitializeModule .

Metoda wykonuje następujące czynności:

  1. Wywołuje metodę w CanReadSignInResponse(HttpRequestBase) celu określenia, czy odebrano komunikat odpowiedzi WS-Federation logowania ("wsignin1.0"). Jeśli odpowiedź jest WS-Federation wylogowywanie żądania czyszczenia ("wsignoutcleanup1.0"), CanReadSignInResponse(HttpRequestBase) przetwarza komunikat, kończy żądanie i przekierowuje klienta zgodnie z parametrami WS-Federation w żądaniu. Jeśli komunikat nie jest odpowiedzią logowania lub wylogowywaniem się żądaniem czyszczenia, moduł po prostu zwraca; w przeciwnym razie wykonuje następujące kroki, aby przetworzyć odpowiedź logowania.

  2. Wywołuje metodę GetSecurityToken(HttpRequestBase)SecurityToken deserializacji obiektu z żądania.

  3. SecurityTokenReceived Zgłasza zdarzenie. Możesz anulować dalsze przetwarzanie lub zmodyfikować odebrany token zabezpieczający w procedurze obsługi dla tego zdarzenia. Procedura obsługi jest zwykle używana do modyfikowania SecurityToken.ValidFrom właściwości lub SecurityToken.ValidTo .

  4. Weryfikuje token zabezpieczający i tworzy ClaimsPrincipal obiekt z oświadczeń w tokenie zabezpieczającym.

  5. SecurityTokenValidated Zgłasza zdarzenie. Możesz anulować dalsze przetwarzanie lub zmodyfikować podmiot zabezpieczeń oświadczeń w procedurze obsługi dla tego zdarzenia.

  6. Używa skonfigurowanego modułu uwierzytelniania sesji (SAM) do utworzenia SessionSecurityToken obiektu. (Skonfigurowany sam jest obiektem SessionAuthenticationModule zwracanym przez FederatedAuthentication.SessionAuthenticationModule właściwość). Token sesji jest tworzony przy użyciu podmiotu zabezpieczeń oświadczeń zwróconego w kroku 5. SessionSecurityToken.ValidFrom Właściwości i SessionSecurityToken.ValidTo są ustawiane przy użyciu ValidFrom właściwości i ValidTo zwróconych SecurityToken w kroku 3 i są weryfikowane względem bieżącego czasu i okresu istnienia tokenu określonego przez właściwość lub TokenLifetimeSessionSecurityTokenHandler obiektu w kolekcji procedury obsługi tokenów używanej przez DefaultTokenLifetime usługę WSFAM. Okres istnienia tokenu w procedurze obsługi tokenów sesji można określić w konfiguracji za pomocą <elementu sessionTokenRequirement> . Uwaga: PersistentSessionLifetime właściwość programu obsługi plików cookie skonfigurowanego dla protokołu SAM nie jest używana.

  7. Wywołuje metodę SetPrincipalAndWriteSessionToken z tokenem sesji w celu zapisania pliku cookie sesji. Metoda SetPrincipalAndWriteSessionToken najpierw zgłasza SessionSecurityTokenCreated zdarzenie. Właściwości tokenu sesji można zmienić lub zmienić, czy plik cookie powinien być utrwalany w procedurze obsługi dla tego zdarzenia. Po wywołaniu zdarzenia metoda zapisuje plik cookie przy użyciu protokołu SAM.

    Uwaga

    Zestaw SessionSecurityTokenHandler w konfiguracji nie jest używany do zapisywania pliku cookie.

  8. Wywołuje metodę SignedIn , OnSignedIn aby zgłosić zdarzenie.

  9. Wywołuje metodę GetReturnUrlFromResponse , aby pobrać stronę dostawcy usług, do której ma zostać przekierowany klient. Domyślnie ta metoda odczytuje zwracany adres URL z parametru wctx w odpowiedzi logowania. Aby uzyskać więcej informacji na temat sposobu przechowywania adresu URL zwracanego przez usługę WSFAM, zobacz metodę CreateSignInRequest .

Dotyczy