Мы используем NTLM-аутентификацию для доступа к веб-службам ASP.net из нашего приложения MonoTouch, и все работает нормально.
Один из наших клиентов использует то же приложение, и аутентификация NTLM не выполняется из нашего приложения, но работает из браузера Safari на iPad.
Глядя на поток пакетов от клиента, сервер не возвращает NTLMSSP_CHALLENGE
, когда наше приложение отправляет сообщение NTLMSSP_NEGOTIATE
.
Поиск различий между сообщением NTLMSSP_NEGOTIATE
нашего приложения и аналогичным сообщением Safari для iPad
Наше приложение MT устанавливает для флагов NTLM значение 0xb203
, а Safari - для 0x88207
.
NegotiateNtlm2Key
установлено в 0
в нашем приложении и 1
в Safari
Наше приложение также отправляет домен и имя вызывающей рабочей станции, в то время как Safari отправляет оба как ноль.
Сервером клиента является Windows Server 2003, и они также используют Kerberos в качестве основной схемы аутентификации и используют NTLM.
Поможет ли установка флагов NegotiateNtlm2Key
в Mono.Security.Protocol.Ntlm.NtlmFlags
?