【发布时间】:2019-02-06 13:47:10
【问题描述】:
我正在使用 Eclipse 开发应用程序的 2 个部分。
Web 部件提供 REST 服务,并使用 waffle.servlet.NegotiateSecurityFilter 过滤对服务的请求,该waffle.servlet.NegotiateSecurityFilter 提取 Windows 登录信息以识别用户。
客户端部分使用HttpURLConnection 向Web 部分发送请求。据我了解,Ntlm 信息会自动打包到请求中。
当我在 Eclipse 中测试它时,它运行良好。当我部署客户端 JAR 时,它不起作用。我收到 401 Not Authenticated。
经过一番调查,我发现我可以通过将执行环境设置为 JRE 而不是默认的 JDK 在 eclipe 中重现这一点。
我安装了 JRE“1.8.0_201”和 JDK“1.8.0_161”。
因此,只需将执行环境从 JRE 更改为 JDK,我就可以获取连接以进行身份验证。
JDK 有什么不同,我可以做些什么来让客户端使用 JRE?
【问题讨论】:
-
不同的密码套件?
-
@Gab 我想知道并将
lib/security文件夹从JDK 复制到JRE。 (我假设所有相关的东西都在那个文件夹中)。问题仍然存在。 -
您好,我遇到了同样的问题。 u192 和 u201 之间发生了一些变化。 oracle.com/technetwork/java/javase/8u201-relnotes-5209271.html 我怀疑是这样的:bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8211883.