2016-12-15 4 views
0

私のアプリケーション(MVC3)を使用すると、ユーザーはフォームにドキュメントをアップロードできます。アップロードされると、匿名ユーザーはURLの文書IDとリクエストIDを含むリンクにアクセスして、これらの文書へのアクセスを利用できます。アップロードされたドキュメントURLへの認証されていないアクセスを禁止する - MVC

例: https://myapplication.com/Documents/DownloadDocument/DwldDocumentMethod?DocumentId=fg2ac782-a15a-445a-b0e9-b11344878f28&RequestId=gh998c01-1d27-40b6-9e55-127084ca164b

認証されたユーザーのセッションCookieを必要とすることにより、不正アクセスからアップロードされたドキュメントのURLを確保する必要があります。

MVC3では、セッションCookieを実装するすべての方法があります。私は他の可能な方法があれば、本当に感謝します。

+0

私は、ファイルのダウンロードが唯一のコントローラのアクションを介して処理されるべきではなく、ファイルのURLで考えて...だからあなたの行動は、その後確保されている場合は、あなたの文書も確保されています。適切な方法でアップロード/ダウンロードを実装するには、http://www.c-sharpcorner.com/UploadFile/65794e/uploading-and-downloading-in-mvc/を参照してください。 – Nirman

答えて

3

ファイルのダウンロードを保護するには、アクションで制御する必要があります。 ファイルの名前を渡すコントローラーを作成し、バイナリデータを返すことができます。例えば

は:

[Authorize(Roles = "RegisteredUser,Admin")] 
public Action DownloadFile(string fileName){ 
    //Read the file: 
    string mimeType = ""; 
    byte[] myFile = ReadMyFile(fileName, out mimeType); 

    return File(myFile,mimeType,fileName); 
} 
関連する問題