Pergunta

Eu preciso implementar SSO entre um domínio do Windows e um appliction J2EE web.

Eu estive pensando qual será o impacto disso seria no tempo limite da sessão do aplicativo web. Temos um out duas horas.

Se implementar um seemless SSO, então eu acho que pode tornar-se confuso para o usuário.

O SSO vai fazer parecer que a aplicação web está imediatamente disponível.

Estou preocupado que eles vão começar a preencher formulários, em seguida, ir para o almoço (ou algo assim) e voltar depois da sua sessão expirou. No entanto, pode não ser imediatamente aparente que isso tenha acontecido, desde o SSO só vai assiná-los novamente (mas agora com uma nova sessão).

Alguém tem alguma experiência com qualquer coisa como esta e como lidar com isso? Não só precisamos de implementar alguma forma de mensagens extra para informar ao usuário que a sessão anterior expirou e seu trabalho foi perdido?

Foi útil?

Solução

Eu acho que você definitivamente precisa de pop-up uma caixa de alerta de algum tipo se a sessão do usuário é redefinida. Levá-los a clicar em OK na mensagem e redirecioná-los para a página inicial.

Além disso, acho a 2 horas de sons de tempo limite como uma má idéia se você está fazendo isso como eu acho que você é. Você quer dizer que o usuário tem 2 horas a partir de quando fazer login para trabalho antes de sua sessão vezes fora? Não faria mais sentido ter algo como 10 minutos de tempo limite, mas com a obtenção de reposição do contador sempre que o usuário envia um novo pedido dentro dessa sessão.

Outras dicas

O tempo limite não é um momento estático fixo medido a partir de login, mas sim uma medida dinâmica de inatividade.

Em sites que hav buit com essa funcionalidade depois de 10 minutos ou assim que a página web vai voltar para a página de login (JS usado) eo usuário pode começar de novo se quiserem.

Se eles estão ocupados com um longo processo onde eles estão revendo resultados ou alguma coisa, então verificar o movimento do mouse ou alguma chave sublte assim indicando que eles ainda estão ocupados.

velha questão, mas no caso de alguém é executado através dele:

Tente realmente difícil de armazenar nenhum estado na sessão do servidor. Cliente, tudo bem; back-end persistência do servidor (como um banco de dados), tudo bem. nada apenas entre que se perder. Quando o usuário está perfeitamente re-autenticado, eles não notar a mudança. Duração do tempo limite torna-se irrelevante.

Esta resposta é realmente mais viável agora, seis anos mais tarde, uma vez que existem várias estruturas de front-end que irá armazenar seus dados para você. Você ainda pode usar Spring Security (digamos) no servidor, como a autenticação ainda está lá com a nova sessão; deve regenerar suas informações de segurança (SecurityContext, UserDetails, etc.) na mosca. Seja qual for pedido obtém ou envia dados deve então "apenas trabalho".

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