【发布时间】:2011-05-25 20:17:19
【问题描述】:
我们正在使用 JCIFS(1.3.15) 从仅发送 NTLM v2 响应的 Windows 7 客户端进行身份验证。
当我们使用 Windows 2008 R2 域控制器时出现以下错误
jcifs.smb.SmbException: The parameter is incorrect.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:545)
at jcifs.smb.SmbTransport.send(SmbTransport.java:645)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:322)
at jcifs.smb.SmbSession.send(SmbSession.java:224)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbSession.logon(SmbSession.java:153)
at jcifs.smb.SmbSession.logon(SmbSession.java:146)
身份验证机制在以下情况下可以正常工作
1) 客户端同时支持 NTLM v1 和 v2(客户端的 lmCompatibility 为 1),域控制器为 Windows 2003
2) 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域控制器为 Windows 2003
3) 客户端同时支持 NTLM v1 和 v2(客户端的 lmCompatibility 为 1),域控制器为 Windows 2008
但是当我们得到上面提到的错误时 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域控制器为 Windows 2008
这里有人可以帮助我们吗
提前致谢
萨乔·C·马修
【问题讨论】:
-
什么版本的 JCIFS 以及你使用的是哪个 JVM?
-
我认为 1.3.15 不适用于 NTLMv2。您应该使用最新版本 (1.3.17) 尝试一下,尽管我在 Windows 2008 域控制器方面取得了喜忧参半
-
嗨,我在 jcifs 1.3.17 中也遇到了同样的错误。尝试了很多,你有任何解决方法吗
标签: java windows-7 jcifs windows-server-2008-r2 ntlmv2