Mono, NTLM и пустые домены - PullRequest
       25

Mono, NTLM и пустые домены

1 голос
/ 08 сентября 2011

Я использую Mono 2.6.7 - если я не указываю домен, запрашиваемый хост берется для аутентификации NTLM - что приводит к неудачному входу в систему.

1 - Работает: Войти с именем пользователя 'domainXYZ / User123' -> Wireshark Capture NTLM Packages:

Domain name: domainXYZ
User name: User123

2 - Работа: войдите под именем пользователя 'User123' по URL http://1.2.3.4/a.txt -> .Net / Windows :

Domain name: NULL
User name: User123

3 - не работает: войдите под именем пользователя 'User123' по URL http://1.2.3.4/a.txt -> Mono / Debian :

Domain name: 1.2.3.4
User name: User123

Этот запрос аутентификации не работает, поскольку на целевой машине нет домена с именем 1.2.3.4.

Мой код для аутентификации без информации о домене:

NetworkCredential credential = new NetworkCredential(request.Username, request.Password);
// credential = new NetworkCredential(request.Username, request.Password, null); also not working
CredentialCache credentialCache = new CredentialCache { { new Uri(request.Url), "NTLM", credential } };
webClient.Credentials = credentialCache;

Есть идеи?

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Нам удалось сделать «простой» обходной путь для решения проблемы домена.В общем, мы реализовали соединение как «толстую» статическую библиотеку в Objective-C, для простоты используя инфраструктуру ASIHTTPRequest, выполнили привязку API, как описано здесь и с некоторой помощью из здесь , мы смогли включить созданные файлы .dll и .a в MonoDevelop и связать их с необходимыми фреймворками.

Не стесняйтесь обращаться ко мне, если вас интересуют исходные файлы.У меня также есть несколько интересных ссылок, которые нам помогли, но мне нужно больше репутации, чтобы публиковать их.Кроме того, не стесняйтесь спрашивать меня о них.

С уважением, Андреас

Редактировать: Извините, самая важная информация отсутствовала.Установка домена в ASIHTTPRequest на пустую строку [asiRequest setDomain:@""]; и упаковка всего запроса в статической библиотеке сделали свое дело.

0 голосов
/ 04 марта 2012

Я только что исправил эту проблему в ветвях Mono master и mono-2-10: https://github.com/mono/mono/commit/214741630f96ddd3e847ff4050182674fe2d1602

...