如何解决CodeLibs jcifs.smb.SmbAuthException:访问被拒绝
我想使用 CodeLibs 中的 jcifs.smb,因为它支持 SMB2 协议。我曾经使用 https://www.jcifs.org/ 但它只支持 SMB1。 我在以下情况下收到错误“jcifs.smb.SmbAuthException:访问被拒绝”:
import jcifs.smb.NtlmPasswordAuthenticator;
import jcifs.smb.SmbFile;
try {
Properties p = new Properties();
p.putAll(System.getProperties());
NtlmPasswordAuthenticator auth = new NtlmPasswordAuthenticator("","xxx","xxx");
CIFSContext cifsContext = new BaseContext(new PropertyConfiguration(p));
cifsContext.withCredentials(auth);
SmbFile file = new SmbFile(fileUrl,cifsContext);
file.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
当我为 SMB1 使用相同的库时,它曾经可以工作。
import jcifs.smb1.smb1.NtlmPasswordAuthentication;
import jcifs.smb1.smb1.SmbFile;
try {
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("","xxx");
SmbFile file = new SmbFile(fileUrl,auth);
file.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
我尝试设置一些属性,但仍然出现相同的错误:
p.setProperty("jcifs.smb.client.username","xxx");
p.setProperty("jcifs.smb.client.password","xxx");
p.setProperty("jcifs.smb.client.domain","");
p.setProperty("jcifs.smb.client.minVersion","SMB1");
p.setProperty("jcifs.smb.client.maxVersion","SMB311");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。