我正在使用Java进行NTLM实现。我试图访问我自己的机器内的共享文件夹。但我得到以下例外:
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
我从计算机属性中获取了计算机名称和工作组信息。这是我的代码:
String folderUrl =settings.domain+";"+settings.username+":"+settings.password
NtlmPasswordAuthentication authentication = new NtlmPasswordAuthentication("${folderUrl}") ;
SmbFile readFolder = new SmbFile("smb:"+settings.filesLocation+"/",authentication) ;
在这一行中,我得到了上述异常:
SmbFile[] listOfFiles = readFolder.listFiles() ;
到目前为止尝试解决方案:
我在本地安全策略中进行了更改,并将“网络安全:LAN Manager身份验证级别”的值更改为“发送NLM和NTLM,如果协商则使用会话安全性”,但都是徒劳的。此外,我也试过更改密码和域名。
注意:
请指导我如何使用NTLM让我的应用程序访问网络路径上的这些共享文件夹?
答案 0 :(得分:0)
就我而言,问题出在Windows LogIn用户身上(实际上不知道那是什么问题)我用来访问共享文件夹。所以,我刚刚创建了另一个新的Windows用户并尝试使用新创建的窗口用户访问这些共享文件夹,并且可以成功访问共享文件夹而没有任何问题。
随着这个新用户,我的机器可以从同一网络上的其他机器访问。