Является ли JCIFS несовместимым с контроллерами домена Windows 2008 R2?
Мы используем JCIFS (1.3.15) для аутентификации с клиента Windows 7, который отправляет только ответы NTLM v2.
Мы получаем следующую ошибку при использовании контроллера домена 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 of client равно 1), а контроллер домена - Windows 2003
2) Клиент отправляет только NTLM v2 (lmCompatibility клиента - 3), а контроллер домена - Windows 2003
3) Клиент поддерживает как NTLM v1, так и v2 (lmCompatibility клиента - 1), а контроллер домена - Windows 2008
но мы получаем вышеупомянутую ошибку, когда
Клиент отправляет только NTLM v2 (lmCompatibility клиента - 3), а контроллер домена - Windows 2008
Может ли кто-то помочь нам здесь?
Заранее спасибо
Sajo C Mathew
Ответы
Ответ 1
JCifs заброшен. Если вам нужен NTLM2, вы можете перейти на коммерческое решение за 250 долларов США (или без 500 долларов США): http://www.ioplex.com/jespa.html или бесплатно, часть NTLM выведена от Liferay: http://sourceforge.net/projects/ntlmv2auth/.
NTLM прекращается (в основном из-за уязвимостей безопасности). Может быть, вы можете перейти на Kerberos?
Ответ 2
JCifs 1.3.18 правильно поддерживает NTLMv2 (у меня была такая же проблема).