gpt4 book ai didi

google-app-engine - AppEngine 中无法进行 NTLM 身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:04 25 4
gpt4 key购买 nike

我正在编写一个与需要使用 NTLMAuthentication 进行身份验证的企业 SharePoint Server (不支持 Basic、Digest 或 Kerberos 身份验证)

我正在使用 Apache HttpClient 4.1.3因为它支持 NTLM开箱即用的身份验证。

您需要实现自定义 ClientConnectionManagerManagedClientConnection因为一些内部使用的类不在 AppEngine JRE Class White List 中, 但发现了几个在互联网上实现,所以没有问题(ESXX Server 实现了一个)。

我最终让它在我本地的 AppEngine 开发服务器上运行但令我惊讶的是,它无法在生产 AppEngine 服务器上运行。

经过多次调查,我发现NTLM Authentication 需要一个持久连接,以便进行包含以下内容的握手在 2 个连续的 HTTP 请求中交换 3 条消息。这 2 个 HTTP 请求必须使用相同的连接(持久连接)完成,如果不是服务器将拒绝身份验证。

URLFetchService 似乎为每个服务使用不同的连接请求 并且无法保持连接打开。相同如果您使用的是 URLConnection 则适用...只要您收到响应您无法在该连接中发送更多数据。

有没有人设法在 AppEngine 中进行 NTLM 身份验证?

有没有持久连接?<​​/p>

我使用的是 AppEngine 版本 1.6.3。

最佳答案

你在这方面不走运。 App Engine 不支持持久 HTTP 连接。此处底部的引用:http://code.google.com/appengine/docs/java/urlfetch/usingjavanet.html

我知道在 App Engine 上创建持久连接的唯一方法是通过 channel API,这仅用于创建 channel ,您无权访问底层 TCP 连接。

关于google-app-engine - AppEngine 中无法进行 NTLM 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com