.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
我终于通过这种方式解决了这个问题,重要的是我必须用绝对路径替换静态文件的相对路径。