WSFederationAuthenticationModule.OnAuthenticateRequest Metodo

Definizione

Gestisce l'evento AuthenticateRequest dalla pipeline di 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)

Parametri

sender
Object

Origine dell'evento. Deve essere un oggetto HttpApplication.

args
EventArgs

Dati per l'evento.

Commenti

Il OnAuthenticateRequest metodo implementa la pipeline di elaborazione delle richieste WS-Federation. Viene aggiunto all'evento HttpApplication.AuthenticateRequest nella pipeline ASP.NET dal InitializeModule metodo .

Il metodo esegue le operazioni seguenti:

  1. Chiama il CanReadSignInResponse(HttpRequestBase) metodo per determinare se è stato ricevuto un messaggio di risposta di accesso WS-Federation ("wsignin1.0"). Se la risposta è una richiesta di pulizia WS-Federation disconnessione ("wsignoutcleanup1.0"), CanReadSignInResponse(HttpRequestBase) elabora il messaggio, termina la richiesta e reindirizza il client in base ai parametri WS-Federation nella richiesta. Se il messaggio non è una risposta di accesso o una richiesta di pulizia della disconnessione, il modulo viene restituito; in caso contrario, esegue i passaggi seguenti per elaborare la risposta di accesso.

  2. Chiama il GetSecurityToken(HttpRequestBase) metodo per deserializzare un SecurityToken oggetto dalla richiesta.

  3. Genera l'evento SecurityTokenReceived. È possibile annullare un'ulteriore elaborazione o modificare il token di sicurezza ricevuto in un gestore per questo evento. Un gestore viene in genere usato per modificare le SecurityToken.ValidFrom proprietà o SecurityToken.ValidTo .

  4. Convalida il token di sicurezza e crea un ClaimsPrincipal oggetto dalle attestazioni nel token di sicurezza.

  5. Genera l'evento SecurityTokenValidated. È possibile annullare un'ulteriore elaborazione o modificare l'entità attestazioni in un gestore per questo evento.

  6. Usa il modulo sam (Session Authentication Module) configurato per creare un SessionSecurityToken oggetto . Il sam configurato è l'oggetto SessionAuthenticationModule restituito dalla FederatedAuthentication.SessionAuthenticationModule proprietà . Il token di sessione viene creato usando l'entità attestazioni restituita nel passaggio 5. Le SessionSecurityToken.ValidFrom proprietà e SessionSecurityToken.ValidTo vengono impostate usando le ValidFrom proprietà e ValidTo dell'oggetto SecurityToken restituito nel passaggio 3 e vengono convalidate in base all'ora corrente e alla durata del token specificata dall'oggetto DefaultTokenLifetime o dalla TokenLifetime proprietà dell'oggetto nell'insieme SessionSecurityTokenHandler del gestore di token utilizzato da WSFAM. La durata del token nel gestore del token di sessione può essere specificata nella configurazione tramite l'elemento <sessionTokenRequirement> . Nota: la PersistentSessionLifetime proprietà nel gestore cookie configurato per SAM non viene usata.

  7. Chiama il metodo con il SetPrincipalAndWriteSessionToken token di sessione per scrivere il cookie di sessione. Il SetPrincipalAndWriteSessionToken metodo genera innanzitutto l'evento SessionSecurityTokenCreated . È possibile modificare le proprietà nel token di sessione o modificare se il cookie deve essere salvato in modo permanente in un gestore per questo evento. Dopo la generazione dell'evento, il metodo scrive il cookie usando sam.

    Nota

    Il SessionSecurityTokenHandler set nella configurazione non viene usato per scrivere il cookie.

  8. Chiama il OnSignedIn metodo per generare l'evento SignedIn .

  9. Chiama il GetReturnUrlFromResponse metodo per ottenere la pagina RP a cui reindirizzare il client. Per impostazione predefinita, questo metodo legge l'URL restituito dal parametro wctx nella risposta di accesso. Per altre informazioni su come WSFAM archivia l'URL restituito, vedere il CreateSignInRequest metodo .

Si applica a