java - JCIFS 是否与 windows 2008 R2 域 Controller 不兼容?

标签 java windows-7 jcifs windows-server-2008-r2 ntlmv2

我们正在使用 JCIFS(1.3.15) 从仅发送 NTLM v2 响应的 Windows 7 客户端进行身份验证。

当我们使用 Windows 2008 R2 域 Controller 时出现以下错误

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),域 Controller 为 Windows 2003

2) 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域 Controller 为 Windows 2003

3) 客户端同时支持 NTLM v1 和 v2(客户端的 lmCompatibility 为 1),域 Controller 为 Windows 2008

但是当我们得到上面提到的错误时 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域 Controller 为 Windows 2008

这里有人可以帮助我们吗

提前致谢

萨乔·C·马修

最佳答案

JCifs 已被放弃。如果您需要 NTLM2,您可以以 250 美元(或 500 美元无限制)迁移到商业解决方案:http://www.ioplex.com/jespa.html ,或免费的,从 Liferay 中取出的 NTLM 部分:http://sourceforge.net/projects/ntlmv2auth/ .

NTLM 正在被放弃(主要是因为安全漏洞)。也许您可以迁移到 Kerberos?

关于java - JCIFS 是否与 windows 2008 R2 域 Controller 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449065/

相关文章:

java - 在eclipse中使用J2ME中acos函数的问题

java - iOS MDM : apply Policies (Restrictions) and Wifi Configurations on Device

apache - 解决有关通过 LAN 访问 localhost 的问题

java - 使用 JCIFS 的 Domino Java 代理 - 清理代理线程时出错

java - Windows 到 Linux 文件传输上的 JCifs 登录失败

java - JCIFS verifyError 非法使用非虚函数调用

java - 是否可以在 JAX-RPC java 客户端中访问原始 SOA/XML 消息?

java - 在 RxJava 中订阅 Observable 时出现问题

visual-studio-2010 - 在 Windows 7 中更改程序文件的默认位置

python - 无法打印文件