SessionAuthenticationModule.SessionSecurityTokenReceived Evento
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.
Ocorre quando um token de segurança de sessão foi lido de um cookie.
public:
event EventHandler<System::IdentityModel::Services::SessionSecurityTokenReceivedEventArgs ^> ^ SessionSecurityTokenReceived;
public event EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs> SessionSecurityTokenReceived;
member this.SessionSecurityTokenReceived : EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs>
Public Custom Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs)
Public Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs)
Tipo de evento
Exemplos
O código a seguir mostra um manipulador para o SessionSecurityTokenReceived evento implementado no arquivo global.asax.cs de um aplicativo Web ASP.NET. Você também deve adicionar o manipulador ao evento. Um exemplo mais completo é mostrado no SessionAuthenticationModule tópico de visão geral.
void SessionAuthenticationModule_SessionSecurityTokenReceived(object sender, SessionSecurityTokenReceivedEventArgs e)
{
System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenReceived event");
}
Comentários
O SessionSecurityTokenReceived evento é gerado de dentro do OnAuthenticateRequest método após um token de sessão (SessionSecurityToken) ter sido lido com êxito do cookie de sessão.
Você pode usar esse evento para modificar as propriedades do token de sessão antes que ele seja passado mais adiante no pipeline e seja usado para autenticar a entidade que está fazendo a solicitação (usuário). Um dos cenários mais comuns envolve modificar o tempo de expiração da sessão (acessível por meio da SessionSecurityToken.ValidTo propriedade) para substituir o tempo de expiração da sessão definido na configuração por meio do lifetime
atributo do <elemento sessionTokenRequirement> . Modificando essa propriedade em cada solicitação, você pode implementar uma sessão deslizante; ou seja, uma sessão na qual o tempo de vida é estendido sempre que o usuário acessa o site.
Em um manipulador de eventos, você pode acessar o token por meio da SessionSecurityTokenReceivedEventArgs.SessionToken propriedade . Depois de modificar o token, você pode garantir que ele seja gravado novamente no cookie definindo como SessionSecurityTokenReceivedEventArgs.ReissueCookietrue
. Por fim, o SessionSecurityTokenReceived evento é um evento cancelável e você pode definir a Cancel propriedade do SessionSecurityTokenReceivedEventArgs para anular o processamento adicional da solicitação.