Creando una galería de fotos privada usando Asp.Net MVC
-
03-07-2019 - |
Pregunta
Necesito crear un servicio de galería de fotos administrado por usuarios. He hecho esto un millón de veces usando solo Asp.net, pero me preguntaba si hay alguna consideración especial que deba hacer al usar Asp.net MVC.
Básicamente, almacenaré las imágenes reales en el sistema de archivos y almacenaré las ubicaciones en una base de datos que vincule las imágenes a un usuario específico. Las imágenes en la galería de un usuario deben NO ser accesibles para cualquier persona, excepto para los usuarios registrados. Es decir, necesito evitar que los usuarios compartan la URL de una imagen de una galería con alguien que no es usuario del sitio.
En el pasado, lo hice con algunos controladores genéricos que autentificaron que la solicitud tiene permiso para acceder al recurso de imagen. ¿Puedo usar el mismo patrón pero usar Controladores en su lugar? Estaba pensando en crear un controlador de fotos y simplemente en una acción Get. ¿Requeriría esto que tengo una vista solo para mostrar una imagen?
¿Estoy en el camino correcto o hay mejores maneras de hacer esto? (Además de almacenar imágenes en la base de datos)
Solución
Este enlace explica cómo crear una clase personalizada de ImageResult. Pude hacer exactamente lo que necesitaba siguiendo esto
https: //blog.maartenballiauw .be / post / 2008/05/13 / aspnet-mvc-custom-actionresult.html
Otros consejos
No es una respuesta completa, pero me gustaría usar una ruta que restrinja el acceso a los archivos reales y luego posiblemente utilizar la autenticación de la acción que obtiene una imagen.