Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Авторизация на прокси сервере   Найти похожие ветки 

 
Piter ©   (2004-10-28 22:24) [0]

В общем, нужна информация, исходники по авторизации на прокси сервере с использованием NTLM аутентификации (Basic и шифрованная... kerberos вроде называется). Нужно для работы через MS прокси. Которые отвечает вот что:

1)
HTTP/1.0 401 Access Denied
WWW-Authenticate: Basic
WWW-Authenticate: NTLM


2)
HTTP/1.0 401 Access Denied
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAA0BYwmlRObo4AAAAAAAAAAA==


 
VMcL ©   (2004-10-28 23:48) [1]

>>Piter ©  (28.10.04 22:24)

Как-нибудь так пробовал искать:
http://search.microsoft.com/search/results.aspx?qu=http+ntlm&View=msdn&st=b&c=4&s=1&swc=4
?


 
Piter ©   (2004-10-29 00:26) [2]

пробовал. У меня даже пример авторизации есть, но на C... он такой объемный, что я никак разобраться в нем не могу...

Мне бы как-нибудь по простому что ли...


 
VMcL ©   (2004-10-29 17:27) [3]

>>Piter ©  (29.10.04 00:26) [2]

Дык, выкладывай на C, - будем всем форумом перводить на Delphi ;-)


 
Piter ©   (2004-10-29 20:55) [4]

http://www.webfile.ru/82577


 
VMcL ©   (2004-10-29 21:38) [5]

>>Piter ©  (29.10.04 20:55) [4]

Забрал. Насколько я понимаю тебе нужны вот эти "штуки":
BOOL AddAuthorizationHeader(PSTR pch, PSTR pchSchemes, PSTR pchAuthData, PSTR pchUserName, PSTR pchPassword, BOOL *pfNeedMoreData );
BOOL InitAuthorizationHeader();
void TerminateAuthorizationHeader();
BOOL IsInAuthorizationSequence();
BOOL ValidateAuthenticationMethods( PSTR pszMet, PSTR pszPref );


Так?


 
Piter ©   (2004-10-31 19:18) [6]

VMcL ©   (29.10.04 21:38) [5]

Я не знаю :(
Я очень плохо понимаю C, поэтому даже в алгоритме разобраться не могу, благо что понаписано там не мало (вызовы DLL еще какие-то), хотя уверен, что для моих минималистических целей можно обойтись 20-30 строками.

Ну вот например обычная Basic авторизация. Чтобы ей воспользоваться надо просто в заголовок HTTP запроса приписать:

Header := Header+"Proxy-Authorization: Basic "+EncodeBase64(ProxyLogin+":"+ProxyPass)+#13#10;

и все! Ну и функция EncodeBase64 еще описана, она преобразует символы в нужную кодировку.

Вот собственно и все! Хотелось бы в таком ключе узнать и про NTLM авторизацию


 
VMcL ©   (2004-10-31 21:25) [7]

>>Piter ©  (31.10.04 19:18) [6]

Кода там действительно немало. Было бы у меня время и стимул, помог бы более реально, чем советами. Стимула у меня нет, поскольку я твоим клиентом не пользуюсь.

Так что надо привлекать к этому делу твоих юзеров :-)


 
Piter ©   (2004-10-31 23:00) [8]

VMcL ©   (31.10.04 21:25) [7]

понимаю :(

Я и не прошу перевести этот проект на Delphi, ты сам сказал:


> Дык, выкладывай на C, - будем всем форумом перводить
> на Delphi ;-)


:))))

Может, просто кто знает и сталкивался с этой авторизацией...


 
Sphinx   (2004-11-01 00:42) [9]

А можно ссылку на хорошие(!) материалы по работе с прокси-серверами вообще? :)


 
VMcL ©   (2004-11-02 19:24) [10]

>>Sphinx  (01.11.04 00:42) [9]

Задай свой вопрос в своей ветке.

>>Piter ©  (31.10.04 23:00) [8]

>Может, просто кто знает и сталкивался с этой авторизацией...

Кто-то точно знает, но не признается :-)


 
PRog   (2004-11-03 03:45) [11]

Есть программа под linux - NTLM Authorization Proxy Server. Написана на phyton. Может легче будет разобраться...


 
Reindeer Moss Eater ©   (2004-11-03 08:36) [12]

Зачем тебе NTLM, если твой прокси согласен и на BASIC?
Тем более, что реализация basic метода отнимает менее получаса не говоря уже о том, что метод давно реализован в Indy


 
Reindeer Moss Eater ©   (2004-11-03 09:07) [13]

Кстати, у тебя просят авторизоваться вообще не на прокси.


 
Piter ©   (2004-11-05 18:30) [14]

А на чем?

Проблема в том, что проблема у удаленного клиента. А приведенные мной заголовки взяты их хелпа MS. Я так понял они пишут, что должен выдавать прокси, если авторизация не прошла


 
Reindeer Moss Eater ©   (2004-11-05 19:08) [15]

Если прокси просит авторизоваться на нем, он возвращает браузеру 407, а не 401.

Код 401 возвращает клиенту веб сервер. И значит клиент благополучно прошел свой прокси.


 
Piter ©   (2004-11-08 12:24) [16]

Не понял. WEB сервер требует NTLM аутентификацию?!


 
VMcL ©   (2004-11-08 13:31) [17]

>>Piter ©  (08.11.04 12:24) [16]

>WEB сервер требует NTLM аутентификацию?!

Такое может быть.


 
Piter ©   (2004-11-08 14:34) [18]

VMcL ©   (08.11.04 13:31) [17]
Такое может быть.


Хорошо. Значит, я в MSDN не туда посмотрел. И все таки, как сделать NTLM авторизацию через прокси, который требует NTLM авторизацию? Ну кто-то ведь должен был сталкиваться с этим?!



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.041 c
14-1098770331
Nikolay M.
2004-10-26 09:58
2004.11.21
Стиха, которую пишут обкуренные школьники


11-1082799203
Delphi5.01
2004-04-24 13:33
2004.11.21
Может быть кто то знает альтернативный компонент?


1-1100093018
Pentium133
2004-11-10 16:23
2004.11.21
потомок TThread


1-1099778557
Logun
2004-11-07 01:02
2004.11.21
Сжатие данных


4-1097270355
Comp
2004-10-09 01:19
2004.11.21
Решение проблемы реализации классов на API