Estou tendo problemas em pegar o usuário logado na rede.
Ocorre o seguinte, estou utilizando a função:
System.getProperty("user.name");
Mas com esta função eu estou pegando o usuário logado na máquina e com isso me é retornado sempre o usuário logado na máquina servidora da aplicação. Se alguém tiver uma dica ou souber de alguma função que retorne o usuário da rede, ficarei imensamente grato!
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Alterei o nome do meu domínio aqui, mas usando o exemplo: Eu configuro como domínio ABC.DEFGHIJ.ORG e na tela de erro aparece ABC.DEFGHIJ.O
Não sei se isso é relevante, mas tem essa diferença.
Achei que o erro fosse por conta do nome de domínio incorreto, mas não está incorreto…
Desde já agradeço,
Xande_cf.
T
thingol
Espera um pouquinho. Qual é o domínio na sua rede Windows, e há um servidor de domínio na sua rede? É estranho o domínio ser “ABC.DEFGHIJ.ORG”. Conforme você deve ter percebido, o nome do domínio que ele está pegando deve ter umas 13 letras no máximo (nem sei de onde vem isso, são coisas do Windowz).
X
Xande_cf
Obrigado por responder thingol!
A rede tem um domínio sim! Eu postei ABC.DE… apenas como exemplo para explicar o que está acontecendo e não postar o nome real.
T
thingol
Uma coisa que é chata é que não sei se o JCIFS funciona em uma rede Windows que tenha apenas servidores Windows 2003 ou 2008; eu sei que ele funciona em redes Windows mais antigas (onde o ActiveDirectory funciona em paralelo com o antigo modelo de redes do Windows NT). Talvez você esteja enfrentando esse problema.
X
Xande_cf
Olá consegui receber o login de usuário, mas toda hora da o seguinte erro durante o uso do sistema:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
Meu inglês não está muito afiado, mas se compreendi bem o JCIF não trabalha bem com NTLMv2. Que por acaso é utilizado aqui na empresa.
Se é isso mesmo, você tem alguma outra solução para capturar o login do usuário windows?
To precisando muito disso, achei que estava resolvido, mas agora…
E o pior, um programa aqui feito com .NET já faz isso, logo, eu preciso conseguir fazer o mesmo com nosso java… rs.
Xande_cf.
X
Xande_cf
Será que alguém tem uma solução para esse problema? Qualquer ajuda será muito bem vinda!
Obrigado!
T
thingol
Você poderia usar o Apache Http Server (httpd) para ficar “na frente” do seu Tomcat, e então usar o módulo mod_auth_sspi (atenção: o Apache tem de ficar em uma máquina Windows para o mod_auth_sspi funcionar).
O SSPI usa as chamadas nativas ao Windows que fazem essa autenticação NTLMv2.
Então você teria algo semelhante à combinação .NET + IIS , que conforme você viu funciona muito bem para obter o usuário logado na rede.
X
Xande_cf
thingol obrigado mais uma vez por responder!
Você poderia me passar mais detalhes sobre o Apache http server e o módulo mod_auth_sspi (como instalar e configurar) ?
Desculpe, mas nunca ouvi falar sobre isso (na verdade, fazem 4 meses que estou trabalhando com desenvolvimento), então não tenho idéia de como utilizá-lo. Se você puder me dar essa força, ficarei imensamente grato!
Já estou utilizando o tomcat em um pc com windows.
G
gustavojava
Pessoal tudo bem?
Minha duvida é o seguinte , eu tenho uma aplicação java desktop,utilizando JPA.
No cliente: eu fiz um ‘atalho’ q aponta para o arquivo .jar no servidor para rodar no cliente.
No servidor: eu instalei o postgresql 8.3 e fiz um restore com todas as informações que as tabelas precisam no banco de dados, as libs que o netbeans gera,
e a jre necessaria pra rodar a aplicação, no servidor a aplicação roda ‘normalmente’ , mas no cliente ele exibe o menu, mas nao mostra
os formularios com os dados em JTABLE.