0

Asp.net api でファイルの一意のダウンロード リンクを生成するにはどうすればよいですか? Web サービスを介してダウンロード機能を提供したいのですが、各ユーザーは一度に一意のダウンロード リンクを取得しました。

アップデート:

  • ユーザーのログイン時間を無駄にしたくありません。

  • 1 人のユーザーが複数のファイルをダウンロードできます。

  • ファイルの種類は、xml、画像、テキスト、およびサウンド ファイルです。

    電子書籍を販売するアプリケーションを開発しようとしています。

どうもありがとう

4

1 に答える 1

1

あなたが達成しようとしていることを正確に教えてください。

  1. ユーザーが登録されているか知りたいのですが?
  2. 同じユーザーが複数のファイルをダウンロードしますか?
  3. ファイルの種類は?

あなたが私たちに言うことができる他のシナリオはありますか?

シナリオに応じて、多くの点で問題が発生する可能性があります。

この例を探して、詳細をお送りします http://support.microsoft.com/kb/306654

シナリオに適合する場合の1つの方法

GUID を使用してデータベース内のユーザーに関連付けることもできますが、その GUID がアプリケーションによってどのように除外されるかについて、いくつかのビジネス ロジックを作成する必要があります。たとえば、UserA には GUID があり、その GUID が次の 15 分間に使用された場合、UserA は自動的にログインできますが、15 分後にはユーザーにユーザー名とパスワードを使用するように強制します。

同様に、u=UserA&time=1347&date=01282001 のようなクエリ文字列を作成し、何らかのハッシュで実行することができます。戻ってきたら、ハッシュを解除し(MD5を使用できないように)、タイムスタンプを確認し、そのタイムスタンプが作成されてからの経過時間を確認します。許容可能な時間枠内であれば、ユーザーに入力させます。そうでない場合は、ユーザー名とパスワードの使用を強制します。これにより、データベース内のユーザーと何かを関連付ける必要がないため、GUID に比べてより単純なソリューションになる可能性があります。

更新:もし私がそれをしなければならなかった場合、私は次のアプローチを取ります。これらのファイルをダウンロードから保護する方法は、あなた次第です。

ステップ 1: 新しいテーブルを作成し、ユーザーが支払いを行って GUID を生成し、このテーブルに GUID とユーザー ID、BookID 情報を保存します。これで、この情報に基づいてリンクを生成できます

http://www.xyz.com/download.aspx?BookID=XX&UserID=XXX&GUID=guid-guid-guid-guid-guid-guid

ステップ 2: HTTPHandler を作成して、上記で作成したテーブルにそのようなレコードが存在するかどうかを確認します。存在する場合は、ユーザーがブックをダウンロードできるようにします。そうでない場合、ユーザーはブックをダウンロードできません。

ユーザーが直接アクセスできないフォルダの下に、ダウンロード可能なすべてのファイルを保存できます。

私が言おうとしていることを理解していただければ幸いです。

これが私が行う方法です。すべてのファイルを保護されたフォルダーに保持するか、データベースに保存できます。

これが出発点になることを願っています。

于 2012-10-23T04:58:03.653 に答える