Benutzer mit den meisten Antworten
Möglichkeit einen html-Stream direkt an eine andere URL zu senden. (Response.Redirect mit HTML-Inhalt)

Frage
-
Hallo
Gibt es eine Möglichkeit einen html-Stream direkt an eine andere URL (Applikation) zu senden?
Szenario:
Start-Software (L1) / Eigenentwicklung
Ziel-Applikation (A1) / StandardanwendungBeide Applikationen sind auf dem gleichen IIS installiert.
Aufgabenstellung:
Um eine Applikation zu starten müssen wir im L1 einen HTLM-Stream mit einem Login-Token (Hidden-Field) und mit der Action auf die
Login-Seite von A1 aufbereiten und an den Client-Browser senden. Diese HTML wird über POST direkt wieder zurückgeliefert und somit ist der Transfer an A1 erledigt.Problematik:
Der Roundtripp zum Client ist eigentlich überflüssig und aus der Sicherheitsbetrachtung anfällig (im Hidden-Field wird ein Login-Token transportiert) .Aufgabe:
-Der Roundtripp soll vermieden werden.
-Die A1 kann/soll nicht geändert werden.Idee/Frage:
Kann ich im L1 den Stream im Code direkt an A1 senden? So etwa wie ein Response.Redirect mit HTML-Code.Ich müsste den URL der A1 ansteuern können und den HTML-Stream mitliefern.
Ich bin Euch für jede Idee dankbar
Danke Ralph
Antworten
-
Hallo Ralph,
in dem Fall würde ich sagen, dass der Weg über den Client unumgänglich ist, es sei denn, ihr würdet alle Requests durch L1 zu A1 routen (also eine Art Proxyserver).
Woher bekommt ihr das Token? Ist das statisch in L1 hinterlegt? Oder wird das anhand des Logins an L1 gebildet und dann für A1 weiterverwendet? Falls letzteres, könnte man auch wie vorgeschlagen, das Login an A1 per HttpWebRequest serverseitig von L1 durchführen. Allerdings brauchst Du hierfür in L1 das Sessioncookie des Clients von A1. Und das kriegst Du nicht so einfach^^
Einfacher wäre es, wenn man A1 ändern könnte. Kann man ja aber leider nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Stefan FalzModerator Dienstag, 11. März 2014 20:44
Alle Antworten
-
Hallo Ralph,
Du kannst per HttpWebRequest problemlos Anfragen von L1 an A1 stellen. Allerdings bin ich mir noch im unklaren, ob das überhaupt das richtige für euch ist.
Daher ein paar Fragen:
Welche Adresse/Anwendung ruft der Client zuerst auf?
Was liefert der Server an den Client zurück?
Welche Adresse/Anwendung wird vom Client danach aufgerufen? Wird dieser Request vom User ausgelöst (Buttonklick, ...) oder passiert das automatisch, bspw. per JavaScript, ...?
Braucht der Client bspw. Sessioncookies von L1 und/oder A1?
---
Response.Redirect ist auch nur eine clientseitige Umleitung, die würde dir also nichts bringen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Vielen Dank Stefan, dass Du Dir die Zeit genommen hast.
Hier ein Beispiel des gesendete HTML-Codes aus L1:
<form name="A1LoginForm" action="URL_zu_A1" method="post">
<input type="hidden" name="A1Token" value="xyzxyzxyz" />
</form>
<script type="text/javascript" language="JavaScript">
function submitmyform() {
document.AMSLoginForm.submit();
}
submitmyform();
</script>Braucht der Client bspw. Sessioncookies von L1 und/oder A1?
-Das muss ich erst den Programmierer fragen, kommt Morgen wieder ins BüroGruss, Ralph
-
Hallo Ralph,
in dem Fall würde ich sagen, dass der Weg über den Client unumgänglich ist, es sei denn, ihr würdet alle Requests durch L1 zu A1 routen (also eine Art Proxyserver).
Woher bekommt ihr das Token? Ist das statisch in L1 hinterlegt? Oder wird das anhand des Logins an L1 gebildet und dann für A1 weiterverwendet? Falls letzteres, könnte man auch wie vorgeschlagen, das Login an A1 per HttpWebRequest serverseitig von L1 durchführen. Allerdings brauchst Du hierfür in L1 das Sessioncookie des Clients von A1. Und das kriegst Du nicht so einfach^^
Einfacher wäre es, wenn man A1 ändern könnte. Kann man ja aber leider nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Stefan FalzModerator Dienstag, 11. März 2014 20:44