Sessões do lado do cliente

Desejo que os clientes de vários aplicativos da web relacionados mantenham seu próprio estado de autenticação. Isso melhora a escalabilidade, porque nenhuma replicação de sessão entre nós do cluster é necessária. E facilita a integração de diferentes tecnologias de servidor, como Java Servlets e PHP.

Meu plano é o seguinte:

Defina um cookie assinado e criptografado com o nome do usuário e o tempo de expiração da sessão após a autenticação do cliente.Quando o cliente envia uma solicitação, o servidor descriptografa e valida o cookie e concede ou nega acesso, dependendo dos valores do cookie.A expiração da sessão será atualizada através da redefinição do cookie.

Todos os servidores que desejam usar a sessão precisam conhecer apenas o mecanismo de cookies e a chave de descriptografia. Veja também:Estado da sessão na camada do cliente

Esta abordagem está correta? Seria possível integrá-lo em um contêiner de servlet / servidor de aplicativos para que ele seja transparente para os aplicativos? Um servlet deve poder usar HttpServletRequest # getRemoteUser () por exemplo. Isso é possível? Ou precisaria de algo acima do nível do contêiner, como o Spring Security? Existem bibliotecas existentes para gerenciamento de sessões no lado do cliente?

questionAnswers(6)

yourAnswerToTheQuestion