Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

NTLM-аутентификация


Страницы:   1 2

И. Павел ©   (2013-04-09 12:48:00) 

Здравствуйте.

Пытаюсь пройти NTLM аутентификацию через idHttp:

1. Устанавливаю idHttp.HTTPOptions.hoInProcessAuth = trueи HandleRedirects = true

2. Добавляю обработчики событий idHTTP:

procedure TForm1.IdHTTPAuthorization(Sender: TObject;
 Authentication: TIdAuthentication; var Handled: Boolean);
begin
 Authentication.Reset;
 Authentication.Username := 'user';
 Authentication.Password := 'password';
 Handled := true;
end;

procedure TForm1.IdHTTPSelectAuthorization(Sender: TObject;
 var AuthenticationClass: TIdAuthenticationClass; AuthInfo: TIdHeaderList);
begin
 AuthenticationClass := TIdNTLMAuthentication;
end;


3. Обращаюсь к закрытой странице:

    IdHTTP.Get(' http://hd-test.ds.local:8080/...');

Если обратиться к ней через браузер и смотреть заголовки, то начинается процесс аутентификации — клиент и сервер в несколько ступеней обмениваются заголовками, после чего доступ к нужной странице открывается.

Но через IdHttp аутентификация не начинается и возвращается страница: /ntlmv2 (плюс сессия через куки).

Перехожу к /ntlmv2 (т.к. в браузере этот переход тоже выполняется, вдруг после него начнется ntlm аутентификация):

IdHTTP.Get(' http://hd-test.ds.local:8080/tlmv2');

При этом вызываются обработчики IdHTTPAuthorization и IdHTTPSelectAuthorization, но после этого где-то в недрах инди генерируется исключение EAbort...

Может быть кто-то уже с этим сталкивался.
Подскажите, пожалуйста, как пройти ntlm-аутентификацию.


Медвежонок Пятачок   (2013-04-09 13:04:00) [21]

xmlhttprequest


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо