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

Unable to Access Shared Folders in Our Own Machine using NTLM: unknown user name or bad password

我正在使用 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() ;

目前尝试的解决方案:

我更改了本地安全策略并将 "Network Security: LAN Manager Authentication Level" 的值更改为 "Send NLM & NTLM, use session security if negotiated",但都没有用。此外,我也尝试过更改密码和域。

注:

  1. 我创建了共享文件夹,这些文件夹在 'Network' 中显示为共享
  2. 我无法通过同一网络上的其他机器访问我的机器,不知道为什么,可能是这个原因。看看当我尝试从同一网络上的其他机器访问我的机器时使用我用来输入我的电脑的相同凭据时出现的错误:

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

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

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