2015-05-15 75 views
0

我正在使用Java實現NTLM。我試圖訪問我自己機器中的共享文件夾。但我收到以下異常:無法在我們自己的機器上使用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. 我無法通過其他機器訪問我的機器在同一個網絡上,不知道爲什麼,可能是這是原因。看看錯誤我所得到的,當我嘗試從其他機器訪問我的機器用相同的證書在同一網絡上我用我的電腦進入:

enter image description here

請指導我如何我可以讓我的應用程序使用NTLM訪問網絡路徑上的這些共享文件夾嗎?

回答

0

在我的情況下,問題是使用Windows LogIn用戶(不知道實際上是什麼問題),我用它來訪問共享文件夾。所以,我剛剛創建了另一個新的Windows用戶,並嘗試使用新創建的窗口用戶訪問這些共享文件夾,並且可以成功訪問共享文件夾而沒有任何問題。

隨着這個新用戶,我的機器可以從同一網絡上的其他機器訪問。

+0

您是否曾經找到舊Windows用戶不允許訪問的原因?我也有同樣的問題。 –

+0

沒有沒有多少時間進一步挖掘它。上述解決方案是否有訣竅? –

+0

不幸的是,我不是該主機的系統管理員,所以我無法創建新用戶。 –

相關問題