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)

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top