Freigeben über


WSFederationAuthenticationModule.OnAuthenticateRequest Methode

Definition

Behandelt das AuthenticateRequest Ereignis aus der ASP.NET-Pipeline.

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)

Parameter

sender
Object

Die Quelle für das Ereignis. Dies ist ein HttpApplication-Objekt.

args
EventArgs

Die Daten für das Ereignis.

Hinweise

Die OnAuthenticateRequest -Methode implementiert die WS-Federation Anforderungsverarbeitungspipeline. Es wird dem HttpApplication.AuthenticateRequest -Ereignis in der ASP.NET-Pipeline durch die InitializeModule -Methode hinzugefügt.

Die -Methode führt Folgendes aus:

  1. Ruft die CanReadSignInResponse(HttpRequestBase) -Methode auf, um zu bestimmen, ob eine WS-Federation Anmeldeantwortnachricht ("wsignin1.0") empfangen wurde. Wenn es sich bei der Antwort um eine WS-Federation Abmeldeanforderung sauber ("wsignoutcleanup1.0") CanReadSignInResponse(HttpRequestBase) handelt, verarbeitet die Nachricht, beendet die Anforderung und leitet den Client gemäß den WS-Federation Parametern in der Anforderung um. Wenn es sich bei der Nachricht nicht um eine Anmeldeantwort oder eine Abmeldeanforderung sauber handelt, gibt das Modul einfach zurück. Andernfalls führt es die folgenden Schritte aus, um die Anmeldeantwort zu verarbeiten.

  2. Ruft die GetSecurityToken(HttpRequestBase) -Methode auf, um ein SecurityToken Objekt aus der Anforderung zu deserialisieren.

  3. Löst das SecurityTokenReceived-Ereignis aus. Sie können die weitere Verarbeitung abbrechen oder das empfangene Sicherheitstoken in einem Handler für dieses Ereignis ändern. Ein Handler wird in der Regel verwendet, um die SecurityToken.ValidFrom Eigenschaften oder SecurityToken.ValidTo zu ändern.

  4. Überprüft das Sicherheitstoken und erstellt ein ClaimsPrincipal -Objekt aus den Ansprüchen im Sicherheitstoken.

  5. Löst das SecurityTokenValidated-Ereignis aus. Sie können die weitere Verarbeitung abbrechen oder den Anspruchsprinzipal in einem Handler für dieses Ereignis ändern.

  6. Verwendet das konfigurierte Sitzungsauthentifizierungsmodul (SAM), um ein SessionSecurityToken -Objekt zu erstellen. (Das konfigurierte SAM ist das SessionAuthenticationModule von der FederatedAuthentication.SessionAuthenticationModule -Eigenschaft zurückgegebene Objekt.) Das Sitzungstoken wird mithilfe des in Schritt 5 zurückgegebenen Anspruchsprinzipals erstellt. Die SessionSecurityToken.ValidFrom Eigenschaften und SessionSecurityToken.ValidTo werden mithilfe der ValidFrom Eigenschaften und ValidTo des SecurityToken in Schritt 3 zurückgegebenen festgelegt und anhand der aktuellen Zeit und der Tokenlebensdauer überprüft, die entweder durch die DefaultTokenLifetime - oder die TokenLifetime -Eigenschaft des SessionSecurityTokenHandler Objekts in der tokenhandlerauflistung angegeben wird, die von WSFAM verwendet wird. Die Tokenlebensdauer im Sitzungstokenhandler kann in der Konfiguration über das <sessionTokenRequirement-Element> angegeben werden. Hinweis: Die PersistentSessionLifetime -Eigenschaft des für sam konfigurierten Cookiehandlers wird nicht verwendet.

  7. Ruft die SetPrincipalAndWriteSessionToken -Methode mit dem Sitzungstoken auf, um das Sitzungscookie zu schreiben. Die SetPrincipalAndWriteSessionToken -Methode löst zuerst das SessionSecurityTokenCreated -Ereignis aus. Sie können die Eigenschaften des Sitzungstokens ändern oder ändern, ob das Cookie in einem Handler für dieses Ereignis beibehalten werden soll. Nachdem das Ereignis ausgelöst wurde, schreibt die -Methode das Cookie mithilfe des SAM.

    Hinweis

    Der SessionSecurityTokenHandler -Satz in der Konfiguration wird nicht verwendet, um das Cookie zu schreiben.

  8. Ruft die OnSignedIn -Methode auf, um das -Ereignis auszulösen SignedIn .

  9. Ruft die GetReturnUrlFromResponse -Methode auf, um die RP-Seite abzurufen, an die der Client umgeleitet werden soll. Standardmäßig liest diese Methode die Rückgabe-URL aus dem wctx-Parameter in der Anmeldeantwort. Weitere Informationen dazu, wie WSFAM die Rückgabe-URL speichert, finden Sie in der CreateSignInRequest -Methode.

Gilt für: