3 Stimmen

WPF-Startbrowser mit Anmeldeinformationen

Ich verwende WPF und C#.

Ich möchte in der Lage sein, ein Browser-Fenster zu starten, höchstwahrscheinlich IE, und bekannte Anmeldeinformationen bereitzustellen, damit die Windows-basierte Anwendung den Übergang von sich selbst zu einem externen Browser bewältigen kann, ohne dass der Benutzer seine Anmeldeinformationen erneut eingeben muss.

Ich weiß, wie man den Browser startet:

System.Diagnostics.Process.Start(url);

Meine Hauptfrage ist, wie kann ich die Authentifizierung damit verbinden? Vielleicht durch Hinzufügen von Kopfzeilen?

Schließlich möchte ich nicht wirklich das neue WebBrowser-Steuerelement innerhalb von WPF aufgrund seiner aktuellen Probleme mit der Anzeige mit einem transparenten Fenster verwenden.

0voto

scottm Punkte 27163

Es kommt darauf an, wie die Website die Benutzerauthentifizierung handhabt. Wenn Sie die Website besitzen, können Sie eine URL erstellen, die den Benutzer mit den von Ihnen bereitgestellten Informationen anmeldet.

0voto

Plip Punkte 1040

Nick,

Die Authentifizierung wird auf unterschiedliche Weise gehandhabt: -

  1. Die Proxy-Authentifizierung wird von Windows manuell durchgeführt.
  2. Die formularbasierte Authentifizierung wird über Cookies abgewickelt, d. h. der Benutzer muss über die Cookies verfügen.
  3. Windows NTML befindet sich möglicherweise im 'Schlüsselbund' des Betriebssystems (merken Sie sich dieses Passwort).

Zum Wohl,

Phil.

0voto

devdimi Punkte 2412

1) Sie müssen wissen, wie man sich "anmeldet". Dazu loggen Sie sich manuell in die Webanwendung ein und verfolgen den http-Verkehr mit einem http-Debugger wie Fiddler. Achten Sie darauf, welche Art von http-Anfragen gesendet werden, welche Namen die Parameter haben, usw. Sobald Sie wissen, welche Abfolge von http-Anfragen gesendet werden muss, um sich anzumelden, müssen Sie dies mit dem Browser tun.

2) Automatische Anmeldung einführen 2.1) Wenn die Anmeldung zufällig über http GET erfolgt - fügen Sie einfach den richtigen Query String an die URL an und starten Sie den Browser. Dies kann nur passieren, wenn Sie die Webanwendung kontrollieren und diesen Mechanismus einbauen, ansonsten wird die Anmeldung fast immer als POST mit https implementiert.

2.2) Wenn Sie eine POST-Anfrage stellen müssen, haben Sie mehrere Möglichkeiten: 2.2.1) Sie könnten ein lokales HTML-Dokument bereitstellen, das Javascript enthält, und einen Ajax-Aufruf des Anmeldeformulars aus dem Javascript heraus durchführen. Zur Übergabe der Parameter können Sie get-Parameter verwenden.

2.2.2) Wenn nichts anderes funktioniert, müssen Sie den Browser über COM (WebBrowser control) verwenden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X