Создание частной фотогалереи с использованием Asp.Net MVC

Мне нужно создать службу фотогалереи, управляемую пользователями. Я делал это миллион раз, используя только Asp.net, но мне было интересно, есть ли какие-то особые соображения, которые мне нужно сделать при использовании Asp.net MVC.

По сути, я буду хранить фактические изображения в файловой системе и хранить их местоположения в базе данных, связывая изображения с конкретным пользователем. Изображения в галерее пользователя НЕ должны быть доступны никому, кроме зарегистрированных пользователей. Это означает, что мне нужно каким-то образом запретить пользователям делиться URL-адресом изображения из галереи с кем-то, кто не является пользователем сайта.

Раньше я делал это с помощью некоторых универсальных обработчиков, которые подтверждали, что запросу разрешен доступ к ресурсу изображения. Могу ли я использовать тот же шаблон, но вместо него использовать контроллеры? Я думал, возможно, создать Photo Controller и просто действие Get. Требуется ли для этого, чтобы у меня было представление только для отображения изображения?

На правильном ли я пути или есть способы сделать это лучше? (Помимо хранения изображений в БД)


person Vyrotek    schedule 01.10.2008    source источник


Ответы (2)


Эта ссылка объясняет, как создать собственный класс ImageResult. Я смог сделать именно то, что мне нужно, после этого

https://blog.maartenballiauw.be/post/2008/05/13/aspnet-mvc-custom-actionresult.html

person Vyrotek    schedule 01.10.2008

Это не полный ответ, но я бы посмотрел на использование маршрута, который ограничивает доступ к самим файлам, а затем, возможно, использовал бы аутентификацию действия, которое получает изображение.

person Matt Mitchell    schedule 01.10.2008