Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Internetzigriff über ISA-Server mit Authentifizierung (https://www.delphipraxis.net/84181-internetzigriff-ueber-isa-server-mit-authentifizierung.html)

Siggi 12. Jan 2007 18:21


Internetzigriff über ISA-Server mit Authentifizierung
 
Hallo zusammen,
ich habe folgendes Problem: meine Applikation läuft auf einem Client, der nur über einen ISA-Server als Proxy Zugriff auf das Internet hat. Am Server ist die "basic authethification" abgeschaltet und es wird die "integrated authentification" eingesetzt, so dass eine Anmeldung mit Benutzername und Passwort nicht möglich ist. Eine Konfigurationsänderung des ISA-Servers ist nicht möglich.
Der Internetexplorer kann das umgehen, aber meine Applikation kommt so am ISA-Server nicht raus.

Ich nutze den Zugriff ausschließlich für zwei Szenarien:
1) automatische Suche nach Updates
2) Zugriff auf einen Webservice (amazon)

Für den Zugriff unter Delphi 5 setze ich die HTTP-Komponente aus der Komponentensammlung von Francois Piette ein. Der Zugriff funktioniert soweit (es wird der Proxy angesprochen), dann kommt aber als Fehler die Meldung "HTTP 407 Proxyauthentifizierung erforderlich - Der ISA Server erfordert Autorisierung, um die Anfrage durchführen zu können. Der Zugriff auf den Webproxydienst wird verweigert".

Wenn der Benutzer die Proxy-Verwendung konfiguriert hat, werden in der HTTP-Komponente die folgenden vier Properties gesetzt und dann genauso weiter verfahren, wie ohne Proxy. Das funktioniert prima im Test mit einem lokalen Proxy ohne Authentifizierung, aber leider nicht mit dem ISA-Server.

Delphi-Quellcode:
procedure UseProxy;
begin
  httpCLI1.Proxy:= ProxyAdr;
  httpCLI1.ProxyPort:=IntToStr(iProxyPort);
  httpCLI1.ProxyPassword:=strPassw;
  httpCLI1.ProxyUsername:=strProxyUsername;
end;
Gibt es eine Möglichkeit, meiner Applikation mit Delphi 5 einen Internetzugriff über den ISA-Server zu ermöglichen?


Danke für alle Tipps!

mkinzler 12. Jan 2007 18:25

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
Unter integrated ist NTLM gemeint?

Union 12. Jan 2007 19:23

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
Auf die 407 Meldung musst Du dann reagieren und dem Server die NTLM-Messages in der richtigen Reihenfolge (Challenge) senden. Die bestehen im Wesentlichen aus MD4 verschlüsselten Username, Domain und Passwort.

Siggi 14. Jan 2007 11:28

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
Zitat:

Autor: mkinzler
Unter integrated ist NTLM gemeint?
Ja

Zitat:

Autor: Union
Auf die 407 Meldung musst Du dann reagieren und dem Server die NTLM-Messages in der richtigen Reihenfolge (Challenge) senden.
Eigentlich habe ich das bei der HTTP-Kpmponente von aus der ICS-Sammlung von F. Piette so verstanden, dass dies automatisch so durchgeführt wird. Die in den Properties ProxyUsername und ProxyPassword eingetragenen Werte werden aber offensichtlich nicht korrekt an den ISA-Server übergeben, sonst käme ja die 407-Meldung nicht als letztes Ergebnis des Aufrufs durch. Wahrscheinlich habe ich nur irgendeine Kleinigkeit übersehen - leider habe ich keine Idee, welche das sein könnte. Habe schon mehrere Foren durchsucht, in denen auch zu NTLM mit ICS diskutiert wurde, aber nichts gefunden, was mir weiter hilft. Da ich keinen direkten Zugriff auf den Client am ISA-Server habe, ist das Debugging per try and error extrem aufwändig und für den Kunden nicht zumutbar (raten was es sein könnte, ändern, neu kompilieren, an Kunden senden, der testet und gibt Ergebnis zurück - wieder raten ...).

Vielleicht kennt ja auch jemand eine andere HTTP-Komponente, die ich mit Delphi 5 einsetzen kann? Es muss ja nicht ICS sein.

mkinzler 14. Jan 2007 12:03

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
Zitat:

Vielleicht kennt ja auch jemand eine andere HTTP-Komponente, die ich mit Delphi 5 einsetzen kann? Es muss ja nicht ICS sein.
INDY, Synapse, ...

Siggi 14. Jan 2007 12:50

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
INDY habe ich versucht, bekomme aber mit meinem zugegeben etwas angestaubten Delphi 5 den Fehler "Package 'IndySystem50' kann nicht geladen werden. Es enthält Unit 'FileCtrl' die auch in Package 'Vclx50' enthalten ist." Das ist auch in mehreren Foren bereits von anderen Delphi-5-Usern gemeldet, aber leider hat bisher niemand eine Lösung gepostet.

Union 14. Jan 2007 14:29

Re: Internetzigriff über ISA-Server mit Authentifizierung
 
Vielleicht setzt Du auch eine zu alte Version von ICS ein? Der letzte Bugfix bezüglich NTLM erfolgte am 8.1.2006. Und soweit ich das sehe, scheint der Source ok zu sein. Hast Du keinen eigenen ISA Server mit dem Du das testen kannst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz