O cookie JSESSIONID do Websphere sobrescreve entre dois aplicativos no mesmo domínio (diferentes portas / raízes de contexto)

4

Plano de fundo

Eu tenho dois aplicativos webshpere

(instalado em dois perfis separados e as portas e as raízes de contexto são diferentes)

Cenário

  • Ao fazer login no app1, os usuários recebem um cookie JSESSIONID X
  • Ao fazer login no app2 em outra guia do navegador (IE8), o usuário obtém um cookie JESSSIONID Y

Problema

  • Ao fazer login no app2, o valor do cookie JSESSIONID Y substitui o valor X, invalidando, assim, a sessão do app1 (o usuário é retornado à página de login se fizer alguma coisa)

Pergunta

  • Esse é o comportamento padrão? Parece estranho que dois aplicativos da web possam compartilhar um cookie JSESSIONID
  • Existe uma maneira de configurar os dois aplicativos da Web para que o isolamento do cookie JSESSIONID seja aplicado?
por Eran Medan 28.12.2012 / 20:30

4 respostas

2

Esses dois aplicativos não se reconhecem, pois estão em perfis separados. Então, eu espero que o segundo veja um ID de sessão que ele não reconhece, assume que é um expirado e cria um novo.

Você pode alterar um dos nomes de cookie do aplicativo para algo diferente de JSESSIONID ou pode alterar seu caminho para que ele seja enviado apenas para / app1 ou / app2.

Em todo o servidor, em Servers > Nome do servidor > Session Management > Enable Cookies ou para as aplicações específicas em Enterprise Applications > Nome do aplicativo > Session Management > %código%. Se você escolher o último, você também deve verificar Enable Cookies .

    
por 29.12.2012 / 23:31
2

Pode ser que você defina um caminho de cookie específico do aplicativo para restringir o URL em que um cookie será enviado.

Isso pode ser feito ativando Override session management em Enterprise Applications > AppName > Session management e escolha Enable cookies > Cookie path > Set cookie path para ser igual à raiz de contexto do aplicativo. igual a app1 ou app2 .

Na minha opinião, esta é a maneira mais preferível de isolar cookies de aplicativos executados no mesmo host.

    
por 31.12.2012 / 12:15
2

Existe uma solução alternativa (AIUI, preferida?) para alterar o nome do cookie ou adicionar um componente de caminho - você pode configurar ambos os aplicativos para reutilizar o ID da sessão recebida e basear a sessão criada em torno dele.

link

    
por 27.01.2013 / 17:05
0

eu tive o mesmo problema no meu ambiente. Apesar de alterar o caminho do cookie em ambos os aplicativos, eu havia alterado apenas um caminho de cookie de aplicativo e habilitado o gerenciamento de sessões de substituição. problema foi resolvido depois de fazer a alteração.

    
por 21.04.2017 / 12:53