2010-12-15 14 views
33

Używamy JCIFS (1.3.15) do uwierzytelnienia z klienta Windows 7, który wysyła tylko odpowiedzi NTLM v2.Czy JCIFS jest niezgodny z kontrolerami domeny systemu Windows 2008 R2?

Jesteśmy coraz następujący błąd, gdy używamy Windows 2008 R2 kontroler domeny

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) 

Mechanizm uwierzytelniania działa poprawnie w następujących przypadkach

1) Klient obsługuje zarówno v1 NTLM i v2 (LMCompatibility klienta to 1), a kontroler domeny to Windows 2003

2) Klient wysyła tylko NTLM v2 (lmKompatybilność klienta to 3), a kontroler domeny to Windows 2003

3) Klient obsługuje zarówno v1 NTLM i v2 (LMCompatibility klienta jest 1) i kontroler domeny Windows 2008

ale dostaje Powyższy błąd podczas Klient wysyła tylko NTLM v2 (LMCompatibility klienta jest 3) i kontroler domeny Windows 2008

Może niektóre ciała pomaga nam tutaj

Dzięki z góry

Sajo C Mathew

+0

jakiej wersji JCIFS i którego JVM używasz? – weloytty

+0

jcifs 1.3.15, jdk 1.4 –

+1

Myślę, że 1.3.15 nie będzie działać z NTLMv2. Powinieneś wypróbować to z najnowszą wersją (1.3.17), chociaż odniosłem mieszany sukces z kontrolerami domeny Windows 2008 –

Odpowiedz

0

JCifs 1.3.18 poprawnie obsługuje NTLMv2 (miałem ten sam problem).