Entrei a pouco numa empresa e fiz um novo sistema. O sistema requer autenticação, claro. Há aqui um sistema de autenticação, que o usuário coloca seu login e senha, e o sistema lista os programas que o usuário tem acesso, daí o usuário clica e roda os programas java via WebStart, só que, se você pegar o caminho dos arquivos pode rodar sem autenticar, pois no programa o cara não verifica nada.
Eu quero utilizar este login já pronto, só que no meu sistema eu quero verificar se o usuário realmente logou. O container é tomcat, e o meu sistema e o do cara estão no mesmo servidor, em contextos diferentes (ambos sistemas web).
Tem como no java eu compartilhar as informações dos dois sistemas ? Via Session não dá, via aplication tb não funciona. Tentei fazer via xml mas tb não consegui, pq quando o servidor chama o XML a sessio não é a mesma que está aberta pelo browser.
Tem como fazer isso sem precisar de “terceiros” como ldap da vida ?
Uma ideia é criar um login oculto no seu sistema que recebe uma string cifrada contendo login e senha do cara, dai o sistema de login unico gera essa string e te passa dai só valida a string, se tiver oq o cara fez o login no sistema unico
Pois é, pensei em algo assim, mas dessa maneira qualquer um poderia chamar a URL passando essa string como parâmetro e, mesmo sem saber a senha do usuário, poderia entrar no sistema…
mas ai esta a jogada, vc pode embutir uma logica na criação da string que mesmo o usuário sendo o mesmo e senha a mesma a string seja sempre diferente, tipo usando modificadores como data, hora, ip do usuário
[quote=italo.vendrameto]mas ai esta a jogada, vc pode embutir uma logica na criação da string que mesmo o usuário sendo o mesmo e senha a mesma a string seja sempre diferente, tipo usando modificadores como data, hora, ip do usuário
[/quote]
Hmm… vou tentar algo do tipo…
Se não for abusar, conhece algum criptografador ? O que eu uso é aquele MDS 5, algo assim (não sei exatamente o nome), que faz o hash, mas não tem como desfazer…
olha da uma olha nas API de criptografia da SUN, mas antes verifique com o responsável pelo login unico qual a algoritimo que ele tem disponivél para usar, pq vc tem que descifrar oq ele cifrar então depende dele