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)

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top