WSFederationAuthenticationModule.OnAuthenticateRequest Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Manipula o AuthenticateRequest evento do pipeline de 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)
Parâmetros
- sender
- Object
A fonte para o evento. Isso será um objeto HttpApplication.
- args
- EventArgs
Os dados do evento.
Comentários
O OnAuthenticateRequest método implementa o pipeline de processamento de solicitação WS-Federation. Ele é adicionado ao HttpApplication.AuthenticateRequest evento no pipeline de ASP.NET pelo InitializeModule método .
O método executa o seguinte:
Chama o CanReadSignInResponse(HttpRequestBase) método para determinar se uma mensagem de resposta de entrada WS-Federation ("wsignin1.0") foi recebida. Se a resposta for uma solicitação de limpo de saída WS-Federation ("wsignoutcleanup1.0"), CanReadSignInResponse(HttpRequestBase) processará a mensagem, encerrará a solicitação e redirecionará o cliente de acordo com os parâmetros de WS-Federation na solicitação. Se a mensagem não for uma resposta de entrada ou uma solicitação de limpo de saída, o módulo retornará apenas; caso contrário, ele executará as etapas a seguir para processar a resposta de entrada.
Chama o GetSecurityToken(HttpRequestBase) método para desserializar um SecurityToken objeto da solicitação.
Aciona o evento SecurityTokenReceived. Você pode cancelar o processamento adicional ou modificar o token de segurança recebido em um manipulador para esse evento. Um manipulador normalmente é usado para modificar as SecurityToken.ValidFrom propriedades ou SecurityToken.ValidTo .
Valida o token de segurança e cria um ClaimsPrincipal objeto com base nas declarações no token de segurança.
Aciona o evento SecurityTokenValidated. Você pode cancelar o processamento adicional ou modificar a entidade de segurança de declarações em um manipulador para esse evento.
Usa o SAM (módulo de autenticação de sessão) configurado para criar um SessionSecurityToken objeto . (O SAM configurado é o SessionAuthenticationModule objeto retornado pela FederatedAuthentication.SessionAuthenticationModule propriedade .) O token de sessão é criado usando a entidade de segurança de declarações retornada na etapa 5. As SessionSecurityToken.ValidFrom propriedades e SessionSecurityToken.ValidTo são definidas usando as ValidFrom propriedades e ValidTo do SecurityToken retornadas na etapa 3 e são validadas em relação à hora atual e ao tempo de vida do token especificado pela DefaultTokenLifetime propriedade ou TokenLifetime do SessionSecurityTokenHandler objeto na coleção de manipuladores de token que está sendo usada pelo WSFAM. O tempo de vida do token no manipulador de token de sessão pode ser especificado na configuração por meio do <elemento sessionTokenRequirement> . Observação: a PersistentSessionLifetime propriedade no manipulador de cookie configurado para o SAM não é usada.
Chama o SetPrincipalAndWriteSessionToken método com o token de sessão para gravar o cookie de sessão. Primeiro SetPrincipalAndWriteSessionToken , o método aciona o SessionSecurityTokenCreated evento. Você pode alterar as propriedades no token de sessão ou alterar se o cookie deve ser persistido em um manipulador para esse evento. Depois que o evento é gerado, o método grava o cookie usando o SAM.
Observação
O SessionSecurityTokenHandler conjunto na configuração não é usado para gravar o cookie.
Chama o OnSignedIn método para acionar o SignedIn evento.
Chama o GetReturnUrlFromResponse método para obter a página RP para a qual redirecionar o cliente. Por padrão, esse método lê a URL de retorno do parâmetro wctx na resposta de entrada. Para obter mais informações sobre como o WSFAM armazena a URL de retorno, consulte o CreateSignInRequest método .