защита файлов с помощью asp.net (mvc) - PullRequest
1 голос
/ 16 января 2010

Я хочу защитить файлы в определенном каталоге, чтобы люди не могли ссылаться на них - но мне все еще нужно, чтобы моя программа могла их отображать, чтобы защита паролем действительной папки не работала. Есть ли способ облегчить это в ASP.NET MVC? Очевидно, это больше о ASP.NET, а не MVC - но я не могу использовать такие вещи, как Session State и Postback и тому подобное ...

1 Ответ

3 голосов
/ 16 января 2010

Вы можете поместить этот каталог за пределы корневого каталога веб-приложения (чтобы к нему нельзя было получить доступ с помощью некоторого скопированного URL-адреса) или в каталог, в котором вы запрещаете любой доступ для чтения с помощью файла web.config.

Затем получите доступ к файлам через действие, которое требует авторизации текущего пользователя, например:

public class FileController : Controller
{
  [Authorize]
  public ActionResult Get(string file)
  {
    return new File(Path.Combine(_rootPath, file);
  }
}

Затем вы можете получить доступ к файлам через URL-адрес действия, например, http://server/app/File/Get/test.txt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...