Sessão "unificada" entre 5 sistemas

7 respostas
wag_ferreira

Boa tarde javolandia…

Seguinte, to com um problema com sessão.
Tenho 5 sistemas na minha maquina, onde 3 são em struts, e os outros 2 em vraptor.
onde eu tenho um portal, que apartir deste local, eu posso acessar todos os meus sistemas. E neste portal eu tenho um login. Onde este login da liberação caso esteja logado nos sistemas…

E o problema começa ai, não estou conseguindo “unificar” minha sessão. Uma vez que declaro minha sessão no sistema x, não consigo pegar a mesma sessão no programa y.

Alguém confirma esta minha tese?? até então nao consegui fazer funcionar. Só consegui fazer funcionar, fazendo uma gambiarra de passar o o username e a senha por parametro na hr da chamada do método, assim criando o mesma sessão no sistema seguinte.

Valeu…
Té :?

7 Respostas

Giulliano

Caro amigo, segundo a esecificação dos Servlets Containers

uma aplicação web possue os três escopos

Contexto
Sessão
Requisição

Não é possível passar a mesma sessão de uma aplicação a outra. Vc precisa de duas Servlets uma de saída e uma de entrada:
Onde a servlet de saída manda via post ( de preferência ) os parametros necessários para a outra aplicação que terá a servlet de entrada, nela vc recria uma nova sessão e põe os atributos no lugar…

valews : )

ignacio83

Vc precisa de certos elementos da sessão certo?

Já pensou em guardálos do banco e recuperar nas aplicações?
Ou então fazer um Cache distribuído onde todas as aplicações acessam o mesmo conteúdo?

Se não me engano o JBoss Cache pode resolver o seu problema. Dê uma pesquisada pois não tenho certeza…

André

peczenyj

A ideia é vc logar em um sistema e estar “automagicamente” logado nos outros - como os serviços do google?

Se sim, seria interessante vc ter um sistema de autenticação centralizado.

P

acho que vc vai precisar de uma solução SSO (single sing on).

kaique

Giulliano:
Caro amigo, segundo a esecificação dos Servlets Containers

uma aplicação web possue os três escopos

Contexto
Sessão
Requisição

Não é possível passar a mesma sessão de uma aplicação a outra. Vc precisa de duas Servlets uma de saída e uma de entrada:
Onde a servlet de saída manda via post ( de preferência ) os parametros necessários para a outra aplicação que terá a servlet de entrada, nela vc recria uma nova sessão e põe os atributos no lugar…

valews : )


Cara, acho que é possível fazer isso de uma maneira mais elegante utilizando a interface HttpSessionActivationListener, se nçao me engano.

[]'s.

R

Como foi citado acima, acho que SSO resolverá o seu problema.

alves.Felipe

wag?.ferreira,
resolveu seu problema??como? usou sso?
tenho que fazer a mesma coisa que vc tb…
abraco

Criado 3 de março de 2009
Ultima resposta 16 de mar. de 2009
Respostas 7
Participantes 8