Ir para o conteúdo

Sessões

Todas as interações com o Vinyl ocorrem no contexto de uma sessão. Uma sessão é criada quando um usuário visita o Vinyl pela primeira vez. As solicitações subsequentes do mesmo usuário são associadas à sessão.

Se você deseja definir um tempo limite com base na inatividade do usuário para fins de segurança, isso pode ser feito definindo um valor de Expiração de Autenticação. Consulte a seção Autenticação + Tempo limite da sessão deste artigo para obter mais informações.

Monitorando

O Vinyl rastreia as sessões atribuindo a cada navegador individual um identificador exclusivo. O identificador é armazenado em um cookie na memória. Dessa forma, fechar (todas as instâncias) do navegador encerra efetivamente a sessão. O cookie está marcado como HttpOnly. Se o navegador estiver conectado ao servidor via HTTPS, o cookie também será marcado como Seguro.

Para máxima compatibilidade entre implementações de provedores de dados, o identificador de sessão assume a forma de UUID. Especificamente, é um UUID da versão 4, gerado usando um gerador de números aleatórios criptograficamente. UUIDs são compostos de 128 bits. Porém, 6 bits são reservados para identificar a versão. Isso fornece um total de 122 bits de aleatoriedade, que deve ser suficientemente longo para ser impossível de adivinhar.

Desenvolvimento

Os desenvolvedores podem acessar o identificador da sessão atual usando session() função mvSQL. Isto está disponível independentemente de um evento ser executado em primeiro ou segundo plano. Observe, entretanto, que os eventos agendados recebem um identificador de sessão transitória. O identificador de sessão transitória não está associado a uma sessão de usuário e muda sempre que o evento agendado é executado.

Os identificadores de sessão podem ser armazenados em colunas do tipo "ID exclusivo".

Autenticação + Tempo limite da sessão

As sessões em si não atingirão o tempo limite. No entanto, os administradores de segurança podem definir a expiração da autenticação, o que fornece controle sobre o tempo limite da sessão. A expiração da autenticação define o tempo de vida dos tokens de segurança. Quando um usuário faz login, ele recebe um token de segurança. O token de segurança em si tem vida útil com uma janela deslizante: o Vinyl emitirá um novo token se o usuário interagir com o Vinyl mais da metade da janela de expiração.

Por padrão, o token de segurança tem vida útil de 2 semanas. Para definir a expiração da autenticação:

  1. Faça login no Vinyl como administrador.
  2. Navegue até o IDE.
  3. Clique no botão Provedores de segurança.
  4. No painel Configuração, clique no botão Editar.
  5. Forneça um valor para Expiração de autenticação.

    • A vida útil do token de segurança é medida em minutos.
  6. Clique no botão Salvar.

Nota

A vida útil do token de segurança se aplica apenas a tokens de segurança recém-emitidos.

Como configurar sessões

Por padrão, o Vinyl persiste as informações da sessão no banco de dados. Os administradores podem visualizar sessões e desconectar à força as sessões dos usuários. As sessões de rastreamento protegem contra certas vulnerabilidades, como ataques de repetição de cookies. Este artigo descreve as políticas de armazenamento de sessão configuráveis.

Para configurar sessões

  1. Navegue até o IDE
  2. No painel Conectar, clique no botão Provedores de segurança
  3. As seguintes opções podem ser encontradas no painel Configuração em Sessões:

    • Armazenamento de sessão = Determina quando as sessões são armazenadas. Opções:

      • Autenticado = Armazena apenas sessões autenticadas.
      • Não persistente = As sessões não são armazenadas. Corresponde ao comportamento legado.
      • Persistente = Armazena todas as sessões anônimas e autenticadas.
      • Sair = Armazena apenas sessões desconectadas.
    • Expiração anônima = Valor numérico (segundos) que determina por quanto tempo as sessões anônimas são armazenadas.

    • Max Concurrent = Valor numérico (contagem) que especifica o número máximo de sessões simultâneas que um usuário pode ter ao mesmo tempo.

Para gerenciar sessões

  1. Navegue até o IDE
  2. No painel Runtime, clique no botão Gerenciamento de usuários
  3. No painel Usuários, clique no botão Mais e escolha Sessões
  4. A partir daqui, você pode visualizar sessões existentes, sair de sessões individuais ou limpar todas as sessões (incluindo a sua).

    sessões.png