Java JCIFS:使用运行的用户凭据访问SMB位置

时间:2013-07-18 15:32:41

标签: java smb jcifs

JCIFS似乎有两种连接到远程驱动器的模式,第一种是创建使用

的连接
SMBFile(path, new NtlmPasswordAuthentication(domain, username, password));

第二个会使用访客凭证

SMBFile(path);

我遇到Java批处理过程尝试连接到远程位置的情况,我不会提前知道凭据,但运行应用程序的配置文件有权访问远程SMB位置。有没有办法使用当前运行的用户凭据,而没有必要提示他们呢?

1 个答案:

答案 0 :(得分:1)

可能不是您正在寻找的答案,但JCIFS是完全基于Java的CIFS协议实现。它绝对无法从操作系统继承凭据。

但是,如果您使用的是Windows平台,则可以使用UNC文件名来访问数据,例如。

FileInputStream s = new FileInputStream("\\\\server\\share\\file.txt");

只要凭据可用于正在运行的Windows会话,您就应该使用用户自己的凭据。