Pergunta

Implementamos um sistema semelhante ao descrito neste outro então postar. Basicamente, se o usuário não fizer nada por 14 minutos, solicitamos que eles sejam registrados. Se eles clicarem em "Mantenha -me conectado", fazemos uma solicitação de Ajax para manter a sessão viva; caso contrário, serão redirecionados para a página de logout após um minuto.

Funciona muito bem e está alinhado com sistemas semelhantes empregados em sites como Mint.com e Bankofamerica.com. O único problema é que os usuários do nosso aplicativo tendem a ter várias guias abertas para se referir a diferentes peças de dados. Portanto, o problema é que eles podem estar trabalhando ativamente em uma guia, mas depois a outra guia se destaca e os registra. Isso causa um tempo limite abrupto da sessão para o usuário quando eles não esperavam. BTW, Mint.com tem o mesmo problema.

Então, eu queria saber se alguém tinha alguma idéia para combater isso?

Eu tenho uma ideia, cada solicitação pode definir um cookie "último horário ativo". Após o logout automático, o servidor pode verificar esse último horário ativo e, se for relativamente recente, evite o login-os. É claro que o logout manual ignoraria esse cookie; portanto, se o usuário quiser sair, ele poderá fazê -lo a qualquer momento. No entanto, receio que isso esteja expondo algum tipo de risco de segurança que não sou capaz de ver neste momento. Pensamentos?

Foi útil?

Solução

Antes de mostrar o pop-up, pergunte ao servidor há quanto tempo o usuário fez sua última solicitação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top