現在、私は現在、1ページあたり100個までのイメージを扱うASP.NET MVC 3-WebAppを構築しています。 現時点では、Webアプリケーション自体が画像を提供しています。その理由は、許可されたユーザーとログオンしているユーザーだけがイメージをダウンロードできることを確認したいのです。このアプローチは、一方ではブラウザが画像を順番にロードし、他方ではそれほど大きくはないので、性能が悪い。 したがって、イメージとイメージのみを提供する別のホストから外部WCF-WebServiceを導入したいと思います。これはうまくいきますが、現時点では、Download-Urlを安全にする方法はわかりません。WebService経由での安全なイメージダウンロードのためのベストプラクティス
私のページでは「www.imageviewer.com」と言っています。私はそういうイメージタグをたくさん持っています: [Image-Tag] Source = "imageservice.imageviewer.com/Download/someID" [/ Image - Tag]
私は、UserIDやその他のSecurityTokensのようなダウンロードURL内に暗号化されたセキュリティ情報を送信して、それを使って処理することができます。しかし、これは、ユーザー(または別のユーザー)がログオンせずに別のブラウザーでイメージをダウンロードできることを妨げません。
私はセッションベースのソリューションをご希望です。 WebAppにログオンした後で有効なセッションでのみ、ブラウザはWebServiceからイメージをダウンロードする必要があります。
これを解決する方法はありますか?
私は他のリソースから画像をダウンロードすることをテストしました。これは、Webサービスであるかどうかにかかわらず、「高速な」ユーザーエクスペリエンスを提供します。なぜなら、ブラウザは、ブラウザが現在のページのダウンロード+レンダリング+ JS処理を終了する前に、別のリソースから画像をダウンロードし始めるからです。多分私は完全に間違っています。 –
別のサブドメインから画像を読み込むのが遅い場合、セッション情報を共有するにはどうすればいいですか?私の頭に浮かぶのはアウトオブプロセスまたはSqlServerセッションを使用することだけです。しかし、私はそれを避けたかった。 –
@StevenGrigoleitあなたの最初のコメントは「別のリソース」と言います。それはブラウザが接続を処理する方法のために読み込み速度が速くなる別の(サブ)ドメインです。さらに、IISの同じWebサイトからサブドメインを提供できるため、セッションや構成などのすべてのデータを共有できます。接続文字列とそれ以外のもの)。 – CodeCaster