0

我正在使用 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 管理器身份验证级别”的值更改为“发送 NLM 和 NTLM,如果协商则使用会话安全”,但都是徒劳的。此外,我还尝试更改密码和域。

笔记:

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

在此处输入图像描述

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

4

1 回答 1

0

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

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

于 2015-11-25T12:29:53.850 回答