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:文件检索太慢而无法使用

JCIFS jcifs.smb.SmbException:连接到系统的设备无法正常工作

Java读写Windows共享文件夹 .

jcifs.smb.SmbAuthException:登录失败:未知用户名或密码错误。

Tomcat 8.5.15 找不到 jcifs.jar