Olá pessoal,
Estou tentando usar o JCIFS (http://jcifs.samba.org) para fazer login de usuário e senha na minha aplicação Java usando os mesmos dados de login no Windows da rede.
Baixei o pacote do JCIFS, e testei a classe Logon.java que fica na pasta “examples”:
[code]import jcifs.;
import jcifs.smb.;
public class Logon {
/* java Logon 192.168.1.15 "dom;user:pass"
*/
public static void main( String argv[] ) throws Exception {
String userdir=System.getProperty("user.dir");
System.out.println("user.dir="+userdir);
String userhome=System.getProperty("user.home");
System.out.println("user.home="+userhome);
System.out.println("argv[0]="+argv[0]);
System.out.println("argv[1]="+argv[1]);
UniAddress dc = UniAddress.getByName( argv[0] );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication( argv[1] );
SmbSession.logon( dc, auth );
}
}[/code]
Compilou beleza, mas está aparecendo a seguinte exceção ao rodar:
Exception in thread "main" jcifs.smb.SmbAuthException: Logon failure: user not a
llowed to log on to this computer.
at jcifs.smb.SmbTransport.send(SmbTransport.java:689)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:271)
at jcifs.smb.SmbSession.send(SmbSession.java:228)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:134)
at jcifs.smb.SmbSession.logon(SmbSession.java:159)
at jcifs.smb.SmbSession.logon(SmbSession.java:152)
at Logon.main(Logon.java:19)
Onde está o erro? Ao executar a classe uso o comando do DOS:
java Logon meu_ip "meu_dominio;usuario:senha"
No meu_ip tentei usar o ip da minha máquina e também o endereço de Servidor Wins Primário mas deu a mesma exceção. O domínio, usuário e senha acredito estarem corretos, pois usei o seguinte código para verificar o domínio:
[code]import com.sun.security.auth.module.NTSystem;
public class VerificaDominio{
public static void main(String args[]){
NTSystem system = new NTSystem();
String domain = system.getDomain();
System.out.println(“Dominio=”+domain);
}
}[/code]
e utilizei na linha de comando.
Estou usando Windows 2000 Professional.
Valeu