Gostaria de saber como faço para pegar no JAVA o login do Windows do usuário da máquina ???
Eu tentei utilizar o comando System.getProperty(“user.name”), o problema é que este comando me traz o login do servidor e não da máquina do usuário. Será que tem alguma solução ???
Onde você está chamando esse código? Você está falando de uma aplicação desktop ou web?
fournier
Estou chamando no jsp. A aplicação é WEB.
mister_m
Então isso obviamente não vai funcionar
O que exatamente você quer fazer? Quer que o cara efetue login no seu sistema através do login dele no Windows ou é algo diferente? Poderia explicar o porquê de você precisa do login do usuário?
fournier
É o seguinte: cada usuária terá, através do seu login, de acessar uma funcionalidade toda ou apenas parte dela. Isto é, a pessoa entra na funcionalidade e pelo seu login, eu acesso sua permissão em um arquivo de propriedades e de acordo com isso eu disponibilizo botão A ou B por exemplo.
NÃO há a possibilidade de incluir uma tabela de usuário/senha, pois o cliente não autorizou.
mister_m
O que você quer fazer então é login integrado na aplicação web pela autenticação do Windows, certo?
fournier
Vc está querendo dizer que login integrado seria que ao ligar a máquina o usuário já entra no sistema ?
Não, não seria isso. O usuário loga normalmente, aí ele entra no sistema, e ao fazê-lo o sistema coletaria o login dele para dar alguma permissão de acesso ou não.
mister_m
Não, quis dizer que ao acessar o browser o login do Windows dele é capturado automaticamente para logar no sistema.
fournier
Na verdade o usuário entra no sistema e para uma funcionalidade específica eu preciso deste tratamento.
mister_m
Sim, mas não existe outro login na sua aplicação fora esse, certo?
fournier
Na verdade, o usuário loga na máquina, se quiser, acessa o sistema e em apenas uma funcionalidade do sistema eu necessito do seu login para lhe dar acesso a determinados botões ou não.
fournier
Exatemente. não existe outro login.
mister_m
Nesse caso, basta usar as configurações padrão de segurança de aplicações web no seu web.xml e verificar no seu web container como fazer login integrado NTLM.
Lembrando que essa solução só vai funcionar se todos os usuários do sistema logarem no mesmo domínio do Active Directory.
O problema é que não uso TomCat, eu utilizo o Resin no ambiente de desenvolvimento e o iPlanet em produção.
mister_m
Você vai ter que verificar a documentação desses servidores então.
Por um acaso você não usa IIS na frente de ambos não, usa?
fournier
Não.
T
thingol
Você está usando o iPlanet E não pode pôr um servlet filter no seu ambiente?
Se puder pôr o servlet filter, talvez dê para usar a mesma solução do Tomcat (obviamente a parte de configuração de autenticação do iPlanet fica por sua conta). Veja naquele link que postei acima.