无法使用NTLM访问我们自己的计算机中的共享文件夹:未知的用户名或密码错误

时间:2015-05-15 12:58:04

标签: java ntlm smb jcifs fileshare

我正在使用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,如果协商则使用会话安全性”,但都是徒劳的。此外,我也试过更改密码和域名。

注意:

  1. 我创建了共享文件夹,这些文件在“网络”中显示为共享文件夹
  2. 我无法通过同一网络上的其他机器访问我的机器,不知道为什么,可能是这个原因。看一下当我尝试从同一网络上的其他机器访问我的机器时得到的错误,我使用相同的凭据进入我的电脑:
  3. enter image description here

    请指导我如何使用NTLM让我的应用程序访问网络路径上的这些共享文件夹?

1 个答案:

答案 0 :(得分:0)

就我而言,问题出在Windows LogIn用户身上(实际上不知道那是什么问题)我用来访问共享文件夹。所以,我刚刚创建了另一个新的Windows用户并尝试使用新创建的窗口用户访问这些共享文件夹,并且可以成功访问共享文件夹而没有任何问题。

随着这个新用户,我的机器可以从同一网络上的其他机器访问。