在NTLM上提供BASIC身份验证失败

时间:2015-05-05 14:13:53

标签: java tomcat authentication servlet-filters ntlm

我的应用程序使用jcifs实现了NTLMv1 SSO。 我正在使用NtlmHttpFilter,因为它附带了jcfis。

对于具有Network Security:Lan Manager身份验证级别设置正确的客户端,一切正常。这意味着他们发送LM& NTLM响应,但是当用户具有以下级别时它会失败:拒绝LM& NTLM(仅发送NTLMv2),这是预期的。

我的问题是如何配置应用程序,以便为没有设置LAN Manager身份验证级别的用户请求BASIC身份验证(默认情况下未定义)或拒绝发送NTLMv1响应。 我试图将jcifs.http.enableBasic和jcifs.http.insecureBasic属性设置为true,但我仍然得到以下内容:

Apache Tomcat / 7.0.37 - 错误报告

HTTP状态500 - 参数不正确。

类型异常报告

< p> 消息参数不正确。

描述服务器遇到内部错误,无法完成此请求。

例外

jcifs.smb.SmbException: The parameter is incorrect.
    jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
    jcifs.smb.SmbTransport.send(SmbTransport.java:663)
    jcifs.smb.SmbSession.sessionSetup(SmbSession.java:316)
    jcifs.smb.SmbSession.send(SmbSession.java:218)
    jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
    jcifs.smb.SmbSession.logon(SmbSession.java:147)
    jcifs.smb.SmbSession.logon(SmbSession.java:140)
    jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:189)
    jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:121)

我是否必须自己实施BASIC身份验证?

0 个答案:

没有答案
相关问题