Я использую asp net core 2.0.5 с MVC и хочу использовать статическую папку за пределами wwwroot
.
Мои входные файлы будут выглядеть следующим образом.
wwwroot
staticfolder
10
index.html
image1.png
image2.png
sub-folder
image3.jpg
index.html
генерируется другой программой.Все изображения используются в index.html.
Мы хотим подключиться к серверу после проверки аутентификации, т.е. пользователи могут просматривать index.html
по пути api/flight/10/index.html
.Но мне нужно проверить разрешение пользователя на доступ к ресурсу flight 10
.
Я понимаю, что Physicalfile
можно использовать для обслуживания статического файла (например, * .png) вне wwwroot, а также для настройки app.UseStaticFiles
для обслуживания папок и файлов в файле startup.cs.
Некоторые псевдокоды для минимального примера.
[Route("api/flight/{flight}/index.html")]
[HttpGet]
public IActionResult GetImageThumbnail(
[FromRoute] int flight)
{
// Check permission
List<Flight> data = _context
.Flight(id: flight)
.ToList();
if (data.Count() == 0)
{
return NotFound("No permission.");
}
// data[0].BaseFolder is a folder outside wwwroot
string filename = data[0].BaseFolder + "/index.html";
// Return the content for index.html
...
}
Поэтому мой вопрос заключается в том, как настроить сервер для папки, смешанной с html и изображениями, используя описанный выше метод.