Pessoal aqui na empresa tenho varios sisteminhas, e um portal feito em php, estamos querendo fazer um portal em java e fazer uma integração dos sistemas com o Portal, esses sisteminhas são varios app separados, a ideia é um unico login e acessar esses sitemas dentro do portal, sem ficar fazendo login a cada sistema, eles estão prontos e redondinhos não queria mexer neles, não tenho ideia de como fazer essa integração, se tenho que jogalos num app só? não tenho ideia de como fazer isso ainda, algum pode me dar uma ideia.
Procure por Java authentication with single sign-on
mudar alguma coisa em seus sistemas acho que vai ter que mudar sim, mas o single sign-on ea solução para o que vc precisa
Da uma lida nesse artigo
http://www-128.ibm.com/developerworks/java/library/j-gss-sso/
O problema maior é manter a sessão do usuário através das aplicações diferentes.
Você pode usar o banco de dados para isso, algo como:
- tela de login em java: se o usuário é autenticado, grava uma flag no banco e o redireciona para o menu que contém links para todas as aplicações
- usuário chega na página de menu e clica no link para uma aplicação em php
- aplicação em php checa a flag no banco e marca a autenticação na sessão, assim não precisa ficar fazendo o select mais vezes
- em qualquer aplicação o botão logout deve fazer o update da flag no banco
Problemas:
- necessário criar esta página intermediária entre o menu e as aplicações para checar a flag no banco, poderia fazer algo bonito com XMLHttpRequest que chama uma página (em php ou qualquer outra coisa) que faz o select e retorna true ou false
- se o usuário não clicar em “logout” (fechar a janela do browser, por exemplo) a flag permanece válida, assim se o usuário tiver um link direto para a página de menu ele continuaria autenticado
- seria necessário mudar os links para a página de logout, mas neste caso bastaria criar uma página que todas as aplicações utilizariam
Pessoal ouvi falar de Portlets, mas teria que fazer algumas mudanças nos meus sistemas, qual a opnião de vcs?
Que tal usar Cookies em vez do BD?
Mas do mesmo, se tu usar portlets, seria quase a mesma coisa que tu migrar o teu sistema para servlets e jsp.
A única coisa que iria diferenciar, seria a tecnologia.
Olha a documentação do JBoss, lá eles falam sobre portlets e CMS’s escritos com essa especificação…
[quote=edu53]Procure por Java authentication with single sign-on…
Da uma lida nesse artigo
http://www-128.ibm.com/developerworks/java/library/j-gss-sso/[/quote]
Dei uma lida nesse artigo é super complicado. Aliás tenho sérios problemas com autenticação/autorização usando esses mecanismos malucos.
Mas pelo que vi do artigo isso tudo é feito para um sistema cliente-não-web. Como portou isso para web?
O GSSContext você mantém em sessão ou o quê?