Вы можете поместить этот каталог за пределы корневого каталога веб-приложения (чтобы к нему нельзя было получить доступ с помощью некоторого скопированного 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
.