I have a collection of Excel spreadsheets that I'd like to serve in my ASP.NET 5 webapp only to authorized users.
- Where should I store the files? I assume in wwwroot (e.g., wwwroot/files).
- If in wwwroot, how do I allow access only to authorized users? (I'd like to serve them up as a [Authorize] FileResult from the controller, but this still leaves the files open to direct access through a URL I believe.)
- How do I reference a location in wwwroot through my FileResult action in the controller?
Thanks much!
Yes, they should go in
wwwroot
. Currently there is no built-in way to securewwwroot
directories. But creating a middleware module to accomplish it is pretty straightforward. There is an easy to follow tutorial here.If you're not familiar with developing middleware, I posted a GitHub project that shows how to create middleware in three easy steps. You can download the project here.
You don't need a controller to access static files.