JCIFS似乎有两种连接到远程驱动器的模式,第一种是创建使用
的连接SMBFile(path, new NtlmPasswordAuthentication(domain, username, password));
第二个会使用访客凭证
SMBFile(path);
我遇到Java批处理过程尝试连接到远程位置的情况,我不会提前知道凭据,但运行应用程序的配置文件有权访问远程SMB位置。有没有办法使用当前运行的用户凭据,而没有必要提示他们呢?
答案 0 :(得分:1)
可能不是您正在寻找的答案,但JCIFS是完全基于Java的CIFS协议实现。它绝对无法从操作系统继承凭据。
但是,如果您使用的是Windows平台,则可以使用UNC文件名来访问数据,例如。
FileInputStream s = new FileInputStream("\\\\server\\share\\file.txt");
只要凭据可用于正在运行的Windows会话,您就应该使用用户自己的凭据。