gpt4 book ai didi

web-services - MonoTouch 支持访问 Mono.Security.Protocol.Ntlm.NtlmFlags

转载 作者:行者123 更新时间:2023-12-04 04:24:34 26 4
gpt4 key购买 nike

我们使用 NTLM 身份验证从我们的 MonoTouch 应用程序访问 ASP.net 网络服务,一切正常。

我们的一位客户使用相同的应用程序,NTLM 身份验证在我们的应用程序中失败,但在 iPad 的 Safari 浏览器中有效。

查看来自客户的数据包流,当我们的应用程序发送 NTLMSSP_NEGOTIATE 消息时,服务器不会返回 NTLMSSP_CHALLENGE

查看我们应用程序的 NTLMSSP_NEGOTIATE 消息与 iPad 的 Safari 相同消息之间的差异我们的 MT 应用程序将 NTLM 标志设置为 0xb203,Safari 将其设置为 0x88207NegotiateNtlm2Key 在我们的应用程序中设置为 0,在 Safari 中设置为 1我们的应用程序还发送调用工作站域和名称字段,而 Safari 将两者都发送为空。

客户端的服务器是 Windows Server 2003,他们也使用 Kerberos 作为他们的主要身份验证方案并回退到 NTLM。

Mono.Security.Protocol.Ntlm.NtlmFlags 中设置 NegotiateNtlm2Key 标志会有帮助吗?

最佳答案

NTLMv2 session 和 NTLMv2 身份验证现已在 Mono 中实现 (mono/master commit 45745e5)。

参见 this article了解不同 NTLM 版本的说明。

默认情况下,只要服务器支持,Mono 现在就使用 NTLMv2 session 身份验证,否则回退到 LM 和 NTLM。

可以使用 Mono.Security.dll 中新的 Mono.Security.Protocol.Ntlm.Type3Message.DefaultAuthLevel 属性配置默认行为(参见 Type3Message.csmcs/class/Mono.Security/Mono.Security.Protocol.Ntlm 中的 NtlmAuthLevel.cs

这类似于 Lan Manager Authentication Level在 Windows 中。

2013 年 1 月 26 日更新

Microsoft Server 2008 RC2 不接受它在类型 2 消息的目标名称(或目标信息 block 中的域名)中发回的域名时出现问题。

因此,我们现在使用 NetworkCredential 中的域名来允许用户指定所需的域。这也是最初在类型 1 消息中发送到服务器的域名。

关于web-services - MonoTouch 支持访问 Mono.Security.Protocol.Ntlm.NtlmFlags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235141/

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