Creazione di una galleria fotografica privata utilizzando Asp.Net MVC
-
03-07-2019 - |
Domanda
Devo creare un servizio di galleria fotografica gestito dagli utenti. L'ho fatto un milione di volte usando solo Asp.net ma mi chiedevo se ci fossero delle considerazioni speciali che devo fare quando uso Asp.net MVC.
Fondamentalmente, memorizzerò le immagini effettive sul filesystem e memorizzerò le posizioni in un database che collega le immagini a un utente specifico. Le immagini nella galleria di un utente dovrebbero NON essere accessibili a chiunque tranne agli utenti registrati. Significato, devo impedire in qualche modo agli utenti di condividere l'URL di un'immagine da una galleria con qualcuno che non è un utente del sito.
In passato l'ho fatto utilizzando alcuni gestori generici che hanno autenticato che alla richiesta è consentito accedere alla risorsa immagine. Posso usare lo stesso modello ma usando invece i controller? Stavo pensando di creare forse un Photo Controller e solo una semplice azione Get. Ciò richiederebbe che io abbia una vista solo per visualizzare un'immagine?
Sono sulla strada giusta o ci sono modi migliori per farlo? (Oltre a memorizzare le immagini nel DB)
Soluzione
Questo collegamento spiega come creare una classe ImageResult personalizzata. Sono stato in grado di fare esattamente ciò di cui avevo bisogno seguendolo
https: //blog.maartenballiauw .be / post / 2008/05/13 / aspnet-MVC-custom-actionresult.html
Altri suggerimenti
Non è una risposta completa, ma guarderei usando una route che limita l'accesso ai file effettivi stessi e quindi probabilmente utilizzare l'autenticazione dell'azione che ottiene un'immagine.