Wir haben eine c# asp.net-Webanwendung, die es den Benutzern unter anderem ermöglicht, zuvor hochgeladene Dateien wie PDFs, Word-Dokumente usw. herunterzuladen. Die asp.net-Anwendung wird über einen IIS6-Server bereitgestellt und die Dateiressourcen befinden sich auf einem anderen Server.
Wenn der Benutzer eine Datei anfordert (d. h. auf eine Schaltfläche im Webformular klickt), streamen wir die Datei zurück an seinen Browser und ändern den ContentType entsprechend.
Dies schien ein guter Weg zu sein, um den Weg über den virtuellen IIS-Ordner zu vermeiden, um die Dateiressourcen bereitzustellen - was wir aufgrund der Möglichkeit, dass Benutzer die URL hacken können, für bedenklich hielten. z.B. mit einer URL wie https://mydomain/myresource/clientid/myreport.docx kann ein geschickter Benutzer alternative cvlientid's und Dokumentennamen erraten.
Das Problem beim Streaming eines Word-Dokuments in den Browser besteht darin, dass Word das Dokument, wenn es vom Browser an Word übergeben wird, als brandneues Dokument behandelt, was bedeutet, dass die Eigenschaften und Randinformationen des ursprünglichen Dokuments verloren gehen.
Unsere Benutzer speichern die Metadateninformationen in den Eigenschaften der Word-Dokumente, so dass diese Lösung für sie nicht akzeptabel ist.
Die Bereitstellung über virtuelle IIS-Ordner löst dieses Problem, führt aber das Problem der URL-Sicherheit ein.
Meine Fragen sind also ...
Weiß jemand, wie wir URL-Verschlüsselung/Entschlüsselung (oder Verschleierung) mit IIS Virtual Folders verwenden können?
Oder kennt jemand ein Open-Source-Projekt, das eine ähnliche Aufgabe erfüllt?
Oder hat jemand irgendwelche Vorschläge, wie man über das Schreiben unserer eigenen Implementierung von virtuellen Ordnern aber mit verschlüsselten URLs gehen?
Vielen Dank im Voraus.
ps. unsere Webanwendung wird über https bereitgestellt