JAX-WS IBM 客户端使用带有 Active Directory 身份验证 (NTLM) 的 .Net WS

2023-11-26

我想使用 IBM WebSphere 的 .Net WS。

我使用 JAX-WS IBM 实现创建了一个 WS 客户端,它使用 IIS 上的 .Net WS。客户端位于 SUSE 上,并且通过 NTLM 使用 Windows Server 2003 Active Directory 进行身份验证。

  • 如果客户端在命令行中执行,则实现调用 java.net.Authenticator 来获取凭据,并且请求成功。

  • 如果客户端在 RAD 内执行,则不会调用身份验证器,并且会失败并返回 401。

  • 如果客户端在 WebSphere 内部执行,则不会调用 Authenticator,并且会失败并返回 401。

  • 如果我直接创建到 .Net WS URL 的 Http 连接,则会调用身份验证器并且请求成功。

  • 如果我使用 Axis2(直接而不是 IBM Axis2 JAX-WS 实现)而不是 JAX-WS IBM 实现,我可以将 Authenticator 对象传递给 Axis2 客户端,并且请求会成功。这仅适用于 Windows Server 2003 的 NTLM 协议。当我们迁移到 Windows Server 2008 时,身份验证协议是 NTLMv2(由于 NTLM 存在安全问题,每个人都在迁移到 NTLMv2),并且请求失败,因为 HTTP Client 3 不支持 NTLMv2。 X 是 Axis2 的依赖项。在一段时间内他们不会迁移。

如果我使用 IBM 以外的其他 JAX-WS 实现,我就会失去控制台管理和自动注释读取功能,并且失去 IBM 的支持。

问题

我不明白为什么在 RAD 内部它不起作用,它与从命令行运行的程序相同。

如何使用特定凭证通过 NTLMv2 协议支持使 JAX-WS IBM 实现进行身份验证? (java.net.Authenticator 为您提供了这个,并且应该调用它......但它没有)

有没有办法让 IBM JAXWS 实现使用标准客户端之外的另一种 HTTP 客户端?

甚至 IBM JVM 实现也提供 NTLM 身份验证(这就是命令行和直接 HttpConnection 执行有效的原因),所以我不明白为什么他们不将它用于 IBM WS 堆栈。

加分

有没有什么好的方法可以通过 ActiveDirectory 身份验证提供使用 WS 的双向能力?

Comment

Spring WS 使用支持 NTLMv2 身份验证的 HttpClient 4.X,但我需要一个 JAX-WS 实现,它should成为 IBM 的一员。 IBM JAX-WS 似乎仅支持基本身份验证。我不明白为什么 Microsoft WS 互操作对于 IBM 来说并不重要。

参考

验证器配置:

http://docs.oracle.com/javase/6/docs/api/java/net/Authenticator.html#setDefault%28java.net.Authenticator%29

https://stackoverflow.com/a/5994706/14811

提前致谢!


您正在从 NTLM(1994 年?)迁移到 NTLMv2(1999 年),而不是基于 Kerberos 的技术(在 Windows 2000 中引入),因为 NTLMv2 更安全???

在与 Microsoft 的互操作方面,现代系统将在 JAX-WS 客户端和 .NET 服务之间使用 WS-Security Kerberos。这已经被测试过。

您尝试执行的操作(替换进程使用的身份验证器)适用于独立的 Java 应用程序,但不适合 Java 企业模型,其中 Java 进程托管多个“应用程序”,每个应用程序都有自己的“身份验证”要求,不要介意 WebSphere Server 进程相互通信所施加的内部要求(应用程序服务器到应用程序服务器、节点代理到应用程序服务器、应用程序服务器到 LDAP 等......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAX-WS IBM 客户端使用带有 Active Directory 身份验证 (NTLM) 的 .Net WS 的相关文章

  • 计算从给定日期开始的月份中的第几天?

    我正在努力寻找一种简单有效的解决方案来计算每月的工作日 例如 如果给定日期是第一个星期一Monday 5th March 2018然后我想获取接下来 6 个月每个月第一个星期一的日期 例如 Monday 2nd April 2018 and
  • 如何从 SOAP 响应中删除额外的结果标签

    我知道这个问题以前曾被问过 但我在任何地方都找不到答案 问题是我的 asmx 文件中有以下代码 namespace IrancellSmsServer SoapDocumentService RoutingStyle SoapService
  • 如何使用 vb.net 将数据插入 Access 表?

    我想在 Access 数据库中插入一个新行 我正在考虑做类似的事情 oConnection new Connection connectionstring oTable oCennection table Orders oRow oTabl
  • 基于 Web.Config 使用的 GAC 程序集版本

    Good Day 我有一个在 GAC 中使用自定义程序集的项目 为了能够使用它 我在中添加了对我的项目的引用 C WINDOWS Microsoft NET assembly GAC MSIL JOHN CommonLib v4 0 1 0
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 在 System.Xml.XPath 中启用 XPath2 查询(XPathException:无效令牌)

    Microsoft 的 System Xml XPath nuget package 可用于 NET 4 6 声称支持 XPath 1 0 和 2 0 德文档 https msdn microsoft com en us library s
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • 重写某些 .Net Framework 控件的绘制以更改其边框颜色?

    SCENARIO 我正在使用第三方 Windows 视觉主题 当我看到我的应用程序时 它看起来像这样 但是当我使用正常的Aero主题 它看起来到处都有可怕的白色边框 QUESTION 我知道应用程序中使用的配色方案取决于视觉风格 但是 我可
  • 如何测试 httpOnly cookie 标志

    我在 websphere 中为 jsessionid cookie 设置了以下属性com ibm ws webcontainer HTTPOnlyCookies 知道如何在 Firefox 或 IE 中使用 JavaScript 进行最佳测
  • C# 7 表达式主体构造函数

    在 C 7 中 如何使用 2 个参数编写这样的表达式主体构造函数 public Person string name int age Name name Age age 一种方法是使用元组和解构来允许在一个表达式中进行多次赋值 public
  • 强制 Mpeg2 解复用器使用 ffdshow 渲染 H 264 数字电视视频

    不幸的是 我花了很多时间尝试使 DirectShow 的 DTVViewer 示例正常工作 但没有成功 DVBT网络的视频格式是H264 我发现IntelliConnect行为IFilterGraph更喜欢使用 Mpeg2 视频格式 对于那
  • string.Empty 与 null。您使用哪一个?

    最近工作的同事告诉我不要使用string Empty设置字符串变量时但使用null因为它污染了堆栈 他说不做 string myString string Empty but do string mystring null 真的有关系吗 我
  • .NET 内存不足故障排除

    在阅读了几篇有关 NET 技术中的内存的启发性文章后 Out of Memory 不是指物理内存 https learn microsoft com en us archive blogs ericlippert out of memory
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐