java上传文件至nas_使用JCIFS上传文件至NAS设备(Logon failure: unknown user name or bad password)解决...
使用JCIFS上傳文件至NAS設備(NETAPP FAS3140)
知識點:
1、安全認證方式
問題
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)
at jcifs.smb.SmbTransport.send(SmbTransport.java:722)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)
at jcifs.smb.SmbSession.send(SmbSession.java:239)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)
at jcifs.smb.SmbFile.connect(SmbFile.java:974)
at jcifs.smb.SmbFile.connect0(SmbFile.java:890)
at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)
at jcifs.smb.SmbFile.exists(SmbFile.java:1437)
at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)
at com.indigopacific.customagent.test.Test.main(Test.java:32)
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)
at jcifs.smb.SmbTransport.send(SmbTransport.java:722)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)
at jcifs.smb.SmbSession.send(SmbSession.java:239)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)
at jcifs.smb.SmbFile.connect(SmbFile.java:974)
at jcifs.smb.SmbFile.connect0(SmbFile.java:890)
at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)
at jcifs.smb.SmbFile.exists(SmbFile.java:1437)
at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)判斷文件是否存在失敗:Logon failure: unknown user name or bad password.
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)
at com.indigopacific.customagent.test.Test.main(Test.java:32)
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)
at jcifs.smb.SmbTransport.send(SmbTransport.java:722)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)
at jcifs.smb.SmbSession.send(SmbSession.java:239)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)
at jcifs.smb.SmbFile.connect(SmbFile.java:974)
at jcifs.smb.SmbFile.connect0(SmbFile.java:890)
at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)
at jcifs.smb.SmbFile.exists(SmbFile.java:1437)
at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)
at com.indigopacific.customagent.test.Test.main(Test.java:32)
java.sql.SQLException: 關閉的連接
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1133)
at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:117)
at com.indigopacific.customagent.test.Test.main(Test.java:32)
解決辦法
參考網址:https://communities.netapp.com/thread/24257
在使用JCIFS上傳前加上下面這句話
jcifs.Config.setProperty( "jcifs.smb.lmCompatibility", "2");
原因是:
NAS設備的身份認證方式為NTLM,而JCIFS默認的身份認證方式為NTLMv2.
總結
以上是生活随笔為你收集整理的java上传文件至nas_使用JCIFS上传文件至NAS设备(Logon failure: unknown user name or bad password)解决...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现登陆面试题_【Javaweb
- 下一篇: 三星ddr3内存:市场霸主的秘密揭秘