JCIFS 是不是与 windows 2008 R2 域控制器不兼容?
Posted
技术标签:
【中文标题】JCIFS 是不是与 windows 2008 R2 域控制器不兼容?【英文标题】:Is JCIFS incompatible with windows 2008 R2 domain controllers?JCIFS 是否与 windows 2008 R2 域控制器不兼容? 【发布时间】: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 中也遇到了同样的错误。尝试了很多,你有任何解决方法吗 【参考方案1】:JCifs 已被放弃。如果您需要 NTLM2,您可以以 250 美元(或 500 美元无限制)迁移到商业解决方案:http://www.ioplex.com/jespa.html,或免费从 Liferay 中取出 NTLM 部件:http://sourceforge.net/projects/ntlmv2auth/。
NTLM 正在被放弃(主要是因为安全漏洞)。也许您可以迁移到 Kerberos?
【讨论】:
【参考方案2】:JCifs 1.3.18 正确支持 NTLMv2(我遇到了同样的问题)。
【讨论】:
以上是关于JCIFS 是不是与 windows 2008 R2 域控制器不兼容?的主要内容,如果未能解决你的问题,请参考以下文章
JCIFS jcifs.smb.SmbException:连接到系统的设备无法正常工作