我们使用 NTLM 身份验证从 MonoTouch 应用程序访问 ASP.net Web 服务,一切正常。
我们的一位客户使用相同的应用程序,并且 NTLM 身份验证在我们的应用程序中失败,但可以在 iPad 的 Safari 浏览器中运行。
NTLMSSP_CHALLENGE
查看来自客户的数据包流,当我们的应用程序发送NTLMSSP_NEGOTIATE
消息时,服务器没有返回。
NTLMSSP_NEGOTIATE
查看我们应用程序的消息和 iPad 的 Safari 相同消息之间的差异 我们的MT 应用程序将 NTLM 标志设置为 ,0xb203
而 Safari 将其设置为0x88207
。在我们的应用程序和SafariNegotiateNtlm2Key
中设置为我们的应用程序还发送调用工作站域和名称字段,而 Safari 将两者都发送为空。0
1
客户端的服务器是 Windows Server 2003,他们也使用 Kerberos 作为他们的主要身份验证方案并回退到 NTLM。
设置NegotiateNtlm2Key
标志有Mono.Security.Protocol.Ntlm.NtlmFlags
帮助吗?