TWebBrowser и NTLM-аутентификация - PullRequest
2 голосов
/ 09 октября 2009

Как я могу подключиться с компонентом TWebBrowser в Delphi из-за пределов домена ADS к серверу Sharepoint? Я создал учетную запись пользователя в своем домене и соединю эту информацию с сервером.

Следующий код не работает:

const
USERNAME = 'JamesBond@domain.tld';
PASSWORD = 'Password2009';
var
Url, Headers: OleVariant; 
begin
URL := 'http://192.168.100.130';
Headers := 'Authorization: NTLM ' +
Base64Encode(USERNAME + ':' + PASSWORD)+ sLineBreak;
WebBrowser1.Navigate2(Url, EmptyParam, EmptyParam, EmptyParam, Headers);

с Basic-Auth тот же (не работает) результат.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2009

Когда вы упомянули, что этот вызов не удался, почему бы не проверить на стороне SharePoint / IIS, какая ошибка была записана? Если это ошибка 401.1, журнал событий безопасности должен содержать запись «Ошибка входа» и указывать причину. (Аудит входа в систему при сбое должен быть включен на сервере с помощью локальной политики безопасности.)

0 голосов
/ 09 октября 2009

В нашей интрасети и с компонентом Indy TIdHTTP я использовал это для имени пользователя:

Username := "domainname\username";

Это также работало в FireFox, где защищенный сервер NTLM не будет вызывать поле ввода «Домен» в диалоговом окне входа в систему, как в IE, а только поля ввода по умолчанию для имени пользователя / пароля.

...