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 的相关文章

  • File.Move 的原子性

    我想将目录中的文件重命名为原子事务 该文件不会更改目录 该路径作为 NTFS 文件系统的 UNC 路径提供 可能位于服务器 03 或 08 上 File Move 对于这些目的来说是原子的吗 例如 它要么成功完成 要么失败 以使原始文件仍然
  • 如何将网络浏览器从 IE 更改为 Firefox

    我正在使用 System Windows Forms WebBrowser 开发 C NET 应用程序 IE 无法正常响应 所以我想更换为 Mozilla Firefox 我怎样才能做到这一点 你不能 The WebBrowser控件是 I
  • 为什么smtpclient发送的邮件没有出现在已发送项目中

    我已经实现了一个通过 Net SmtpClient 发送电子邮件的服务器 邮件发送代码如下 private static MailMessage SendMail string to string subject string body M
  • 使用 system.reflection 列出类字段

    我需要获取一个列表来存储类中的所有字段 值 这个班级只是一些公共的const string我在下面粘贴的变量 public class HTDB Cols public class TblCustomers public const str
  • 如何使用 WinAPI 读取 MessageBox 文本

    如何读取标准Win消息框 Info 的消息 Using SendMessage this HandleControl WM GETTEXT builder Capacity builder 我只能读取消息框的标题或按钮的文本 但不能读取消息
  • .Net MVC 4 项目失败,并出现事件日志错误“模块 DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll 无法加载。数据是错误。”

    这不是 DotNetCore 项目 它是 MVC 4 项目 并且应用程序池已正确配置为使用 dotnet CLR v4 但在更新到新版本的 Windows 10 后 无论是内部版本还是新的周年更新 启动应用程序失败 事件日志显示以下错误 模
  • 有没有办法使用 .NET 中的 Kafka Ksql Push 查询

    我目前正在 NET 中使用 Kafka 消费者处理大量 Kafka 消息 我的处理过程的第一步是解析 JSON 并根据 JSON 中特定字段的值丢弃许多消息 我不想首先处理 特别是不下载 那些不需要的消息 看起来 kSql 查询 写为推送查
  • 如何在复杂环境中使用 FQDN 获取 NETBIOS 域名

    从完全限定的 Active Directory 域名获取 NETBIOS 域名有时是一项繁琐的任务 我找到了一个很好的答案here https stackoverflow com a 13814584 1027551 然而 在具有多个林的环
  • 主动解决方案平台 VS 项目平台 VS 目标平台

    我希望我的应用程序是针对 x64 构建的 因为我使用的是 x64 dll 在配置管理器中 我已将 活动解决方案平台 设置为 x64 但是在项目列表中平台设置为 x86 项目属性中的 平台目标 也设置为 x86 我完全困惑有三个地方可以设置目
  • 如何将当前应用程序域的程序集动态加载到c#项目中?

    我正在尝试加载第三方assemblies 动态地到项目并使用reflection创建其类型的实例 I used Assembly LoadFrom Assembly1 dll Assembly LoadFrom Assembly2 dll
  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • 为什么“Assembly”和“Module”没有公开定义的构造函数?

    我正在用 C 构建一个 NET 程序集加载器 以进行 实验 了解有关 NET 内部操作的更多信息 我通过派生类型实现了反射 API 例如 运行时类型 类型 运行时字段信息 字段信息 运行时方法信息 方法信息 运行时参数信息 参数信息 运行时
  • RichTextbox SelectionStart 返回错误的索引

    我需要向用户显示光标上文本的选择开始和长度 就像在 notepad exe 中一样 选择长度没有问题 因为 Richtextbox 支持带有开始和结束的选择属性 http msdn microsoft com en us library s
  • 等待运算符错误

    我的代码有问题 我怎么解决这个问题 这个问题出现在await操作符中 public MyModel HttpClient client new HttpClient HttpResponseMessage response await cl
  • SingleOrDefault异常处理

    我有一个示例代码 它调用 SingleOrDefault 方法 3 次 并在任何序列具有多个匹配元素时记录异常 如果我想检查这段代码的哪一部分抛出异常 问题就开始了 是否可以从此异常中获取一些有用的信息 例如谓词参数或集合类型以进行更详细的
  • 使用 HttpClient 从 webapi 消费 xml

    我使用 WebClient 从 Restfull 服务 net web api 获取 Xml 对象 一切都运行良好 using WebClient client new WebClient client Encoding UTF8Encod
  • Powershell:根据属性过滤属性

    我对 PowerShell 的自学经验有限 所以这可能是一些基本的东西 但我似乎无法正确理解 我在 Active Directory 中 需要提取电子邮件地址不以 SamAccountName 开头的用户列表 因此 如果您的登录名是 jdo
  • WCF获取证书编码值

    我在 WCF 服务中使用证书 因此在 web Config 中有一个编码值
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz

随机推荐