Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating A Private Photo Gallery Using Asp.Net MVC

I need to create a photo gallery service that is managed by users. I've done this a million times using just Asp.net but I was wondering if there are any special considerations that I need to make when using Asp.net MVC.

Basically, I will be storing the actual images on the filesystem and storing the locations in a database linking the images to a specific user. The images in a user's gallery should NOT be accessible by anyone except registered users. Meaning, I need to somehow prevent users from sharing the URL of an image from a gallery with someone who is not a user of the site.

In the past I did this using some generic handlers which authenticated that the request is allowed to access the image resource. Can I use the same pattern but using Controllers instead? I was thinking of perhaps creating a Photo Controller and just a simple Get action. Would this require that I have a View just for displaying an Image?

Am I on the right track or are there better ways of doing this? (Besides storing images in the DB)

like image 656
Vyrotek Avatar asked Oct 01 '08 01:10

Vyrotek


2 Answers

This link explains how to create a custom ImageResult class. I was able to do exactly what I needed following it

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

like image 73
Vyrotek Avatar answered Nov 04 '22 13:11

Vyrotek


It's not a complete answer but I'd look at using a route that restricts access to the actual files themselves and then possibly use authentication of the action that gets an image.

like image 34
Matt Mitchell Avatar answered Nov 04 '22 14:11

Matt Mitchell