Frage

In einem früheren Job hatten wir eine klassische ASP-Anwendung, die niemand auf ASP.NET migrieren wollte.Was es getan hat, hat es sehr gut gemacht.

Es mussten jedoch einige neue Funktionen hinzugefügt werden, die für ASP.NET am besten geeignet zu sein schienen.Es wurde beschlossen, das System zu einer seltsamen Mischung aus ASP und ASP.NET werden zu lassen.

Unser größter Knackpunkt war das Sitzungsmanagement und wir haben eine Lösung zusammengestellt, um Sitzungswerte über Formularvariablen weiterzugeben.Ich habe mit anderen gesprochen, die das gleiche Problem mithilfe von Cookies gelöst haben.

Beide Methoden scheinen schrecklich klug zu sein (und sind außerdem furchtbar unsicher).

Gibt es einen besseren oder saubereren Weg oder ist das von vornherein eine so schlechte Idee, dass eine Diskussion über das Thema sinnlos ist?

War es hilfreich?

Lösung

Können Sie nicht auf die Sitzungsdaten zu einem serverseitigen Datenspeicher bestehen bleiben? dh XML-Datei, Datenbank etc. Sie können dann passieren nur einen Hash (berechnet auf der Grundlage einige Kriterien, die sicher die Sitzung identifiziert) auf eine .NET-Seite, die die Daten nach oben aus dem Datenspeicher mit dieser Kennung auswählen kann, und füllen Sie Ihre Sitzungsdaten . Es bedeutet immer noch Anfragen von ASP zu ASP.NET über einen Proxy jedes Mal, wenn die letzten Sitzungsdaten in jeder App verfügbar sind, um sicherzustellen, passieren zu müssen, aber ich weiß nicht von einem alternativen Weg, dies zu erreichen, ich habe Angst.

Andere Tipps

Ich habe mit dem gleichen Problem zu tun hatte. In meinem Fall verschlüsselt ich einen Schlüssel in einem Cookie und verwendet, um die Datenbank für alle anderen Informationen. Ich schrieb die Verschlüsselung in .NET und inter op'd die ID auf der ASP-Seite zu entschlüsseln. Es gibt einige Merkwürdigkeit in diesem ASP mit Base64-String zu tun die gleiche Zeichenfolge wie .NET nicht erhalten, so können Sie zu tun haben, wie ich die Basis-64-String habe und schreiben äquivalent zu verhexen oder ein ähnlichen kleinsten gemeinsamen Nenner Taktik. Es ist relativ sicher (einen XSS-Angriff speichern).

Nun, letztlich die beste Idee wäre wahrscheinlich den ASP-App .NET umgewandelt haben. Ich glaube wohl, dass, obwohl selbstverständlich ist. Wenn die Sicherheit ein großes Anliegen ist, gibt es Schritte, die Sie so weit wie Verschlüsselung nehmen und die Integrität der Sitzungsinformationen beibehalten, um es sicherer, wie einige symmetrische Verschlüsselung und Hashing und was nicht.

Ich kenne keine sauberere Möglichkeit, dies im allgemeinen Fall zu tun.Aber vielleicht können Sie genauer beschreiben, welchen Zustand Sie zwischen den Systemen teilen müssen?Möglicherweise gibt es in Ihrem speziellen Fall eine sauberere Lösung.Der Status von Sitzungsobjekten ist nicht immer die beste Möglichkeit, den Status beizubehalten.

würde ich mit Wes P zustimmen ... was ist die langfristigen Ziele? Wenn das langfristige Ziel ist es, die klassische ASP-Anwendung zu ASP.NET migrieren dann denke ich, ich kurzfristige Lösung, was auch immer es sein kann, arbeiten. Wenn die langfristige ist die klassische ASP-Anwendung zu halten, dann würden Sie besser dran mit einer robustere Lösung für Sitzungsmanagement gehen sein, ähnlich wie Oglester empfohlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top