Dav*_*lor 6 java soap ntlm cxf spnego
有没有人知道在Windows上运行的Java 6客户端是否能够在访问实现SPNEGO身份验证协议的Microsoft服务器时通过NTLM进行身份验证?
我的理解是,在Windows上运行的Java 6内置了对SPNEGO的支持,但似乎Java实现不会在无法进行kerberos身份验证的情况下尝试NTLM身份验证.Sun文档中提供的Authenticator示例在响应服务器发送WWW-Authenticate:Negotiate时发生401 Unauthorized错误失败.
以下是测试环境的说明:
目标服务器:
客户端机器:
最终目标是使用Apache CXF 2.4.0在WCF服务器上调用SOAP服务.在添加CXF和SOAP的复杂性之前,我一直在尝试使用简单的Java测试应用程序从服务器检索WSDL来解决身份验证问题.
FWIW - 我可以使用Windows服务器的本地管理员登录从IE访问WCF服务器.我还能够创建一个没有任何特殊授权配置的Delphi XE SOAP客户端.Delphi SOAP客户端使用WinInet.
Java 的 SPNEGO 能够支持 Kerberos,只是因为 NTLM 是一种专有的遗留 MS 技术。如果您的目标计算机不是域的一部分(就像您的情况一样),那么您就不走运了。如果可以的话,您应该切换到 DIGEST-MD5 身份验证。
| 归档时间: |
|
| 查看次数: |
4929 次 |
| 最近记录: |