wake-up-neo.net

Testen des Webdienstes mit SoapUI- und Windows-Authentifizierung

Ist es möglich, die Windows-Domänenanmeldeinformationen einzuschließen, um meinen Webdienst mit SOAP UI zu testen?

Ich habe eine Seite mit Eigenschaften gefunden, aber die IIS nur Antworten mit "falschen Anmeldeinformationen".

45

SoapUI scheint nicht direkt mit der NTLM-Authentifizierung zu funktionieren, aber Sie können einen Proxy wie Burp Suite verwenden, um die Authentifizierung für Sie durchzuführen.

  1. Laden Sie die Burp Suite von http://portswigger.net/burp/ herunter und starten Sie sie.
  2. Klicken Sie auf der Registerkarte "Proxy: Intercept" von Burp auf die Schaltfläche, um Intercept zu deaktivieren.
  3. Vergewissern Sie sich, dass auf der Registerkarte "Proxy: Optionen" von Burp ein nicht verwendeter Port ausgewählt ist. Die Standardeinstellung ist 8081
  4. Aktivieren Sie auf der Registerkarte "Optionen" von Burp das Kontrollkästchen "Www-Authentifizierung durchführen" und fügen Sie eine Einstellung für den Server hinzu, auf den Sie zugreifen möchten. Aktivieren Sie auch die Option "Bei fehlgeschlagener Authentifizierung zur Eingabe von Anmeldeinformationen auffordern".
  5. Wechseln Sie zur Registerkarte "Proxy: Verlauf" von Burp, damit Sie sehen können, wie Anforderungen bearbeitet werden.
  6. Wählen Sie in SoapUI "Datei"> "Einstellungen" und dann "Proxy-Einstellungen". Geben Sie Host "localhost" und Port "8081" ein.
  7. Verwenden Sie SoapUI wie gewohnt. Es sendet Anfragen über Burp Proxy, das die NTLM-Authentifizierung für Sie erledigt.
58
Mike Mason

soeben hat soapUI 4.5 die Unterstützung für NTLMv2 hinzugefügt, wodurch die Notwendigkeit für Burp Suite zunichte gemacht wird.

12
MadMoai

Die akzeptierte Lösung funktioniert in den meisten Szenarien. Wenn der Dienst jedoch die Delegierung verwendet, um auf Ressourcen auf anderen Servern zuzugreifen, tritt bei der vom Burp-Proxy verwendeten NTLM-Authentifizierung ein Double-Hop-Problem auf. Der Proxy authentifiziert sich erfolgreich beim Dienst, nachfolgende Aufrufe des Dienstes an andere Ressourcen unter Verwendung der Delegierung schlagen jedoch fehl.

Das Problem wird in diesem Artikel ausführlich beschrieben:

http://blogs.msdn.com/b/besidethepoint/archive/2010/05/09/double-hop-authentication-why-ntlm-fails-and-kerberos-works.aspx

Die einfachste Lösung dafür war, Fiddler als Proxy zu verwenden. Wählen Sie im Menü "Regeln" von Fiddler die Option "Automatisch authentifizieren". Aktualisieren Sie dann Ihre SoapUI-Einstellungen, um fiddler als Proxy zu verwenden (der Standardspeicherort ist localhost: 8888). Jetzt werden Ihre Anrufe in einen Berechtigungsnachweis eingeschlossen, der delegiert werden kann.

Wenn Sie Ihre SoapUI-Testfälle mit LoadUI ausführen, verwendet der SoapUI-Testläufer Ihre SoapUI-Proxyeinstellungen und Ihre Anrufe funktionieren weiterhin.

6
kiprainey

Aktuelle Version SoapUI 4.5.1 funktioniert nicht mit Windows-Authentifizierung, aber die nächtliche Build-Version läuft wieder gut.

Download der nächtlichen Build-Version

1
Fanda

Ich denke, SoapUI unterstützt möglicherweise nur die NT-Authentifizierung für die WSDL.

hier sehen Sie einige Details zur Implementierung:

(Übrigens diese Google-Suche sieht für Sie nicht vielversprechend aus !)

1
Colin Pickard