Ola Pessoal.
Estou pesquisando uma forma de fazer uma unica autenticação para varias aplicações, não poder ser SSO pois os usuários são de redes distintas.
Implementei o JAAS, mas quando autentico em uma aplicação o cache autentication não replica para outras, assim se eu tentar acessar outra aplicação pede a autenticação novamente.
O ideal seria uma autenticação pelo application server e ele replicar para as aplicações, como um portal onde pode ter varias aplicações pinduradas com uma unica autenticação.
Alguém tem uma luz para seguir?
Abs.
cara, não sei se essa é uma solução correta ou se isso te atende, acho que alguns arquitetos podem até tacar pedra em mim pelo o que vou falar! hahahaha
suponha que voce tenha ai o seu cluster de ASs, dai em cada um voce tenha a sua aplicação; dai voce configura para distribuir as sessoes entre eles, acho que é uma tag (ou algo assim) e vai no web.xml…
dai quando o usuário logar, voce pega o ID dele e joga num contexto de sessao junto com um token.
tipo assim
request.getSession().setAttribute( id_usuario , token );
dai isso vai ser distribuído entre os ASs…
o token fica com o cliente.
quando ele for no outro sistema, a aplicação faz um
request.getSession().getAttribute( id_usuario );
e compara os tokens…
o que acha?
Ai trataria isso em um LoginFilter do JAAS para validar o token?
é… acho que um filter seria uma boa opção… quanto ao JAAS, nao sei, nunca mexi com ele…
não entendi o problema de não poder usar SSO, você pode configurar uma implementação dele para funcionar com diferentes redes.
Se for implementar na mão, o mais correto seria implementar algum serviço centralizado para fazer a validação que ficaria bem mais fácil que tentar distribuir o token/cookie de validação
Deu certo, configurei o SSO.
Pensei que só funcionava com certificado de confiança entre do domínio.