.net MVC:如何仅向授权用户提供静态文件

我的网站上有静态文件,如:

http://myurl.com/Content/a.html

http://myurl.com/Content/b.html

……等

我想在访问时validation用户的身份validation。 应通过数据库的数据检查身份validation。

我的框架:ASP.NET MVC5

不要将文件放在传统方法/myserver/myfile.html ,而应考虑添加一个操作,该操作在对用户进行身份validation后返回该文件:

 [Authorize] public ActionResult GetFile(string name) { // return the file } 

您还可以使用OutputCache属性来缓存静态文件,以便每次都不会请求它(如果您确定不会更改文件内容)

确保使用web.config中的authorization元素对用户进行身份validation。 如果所有静态页面都位于名为StaticPages的文件夹中,请将web.config文件添加到该文件夹​​并插入下面的代码。

       

https://msdn.microsoft.com/en-us/library/8d82143t(v=vs.85).aspx

我终于通过这种方式解决了这个问题,重要的是我必须用绝对路径替换静态文件的相对路径。