我正在使用ASP.Net MVC,我想知道如何限制对某个文件的访问。我读到了使用[授权],但它适用于控制器和操作。我尝试在web.config中使用,但它极其建议不要这样做,因为MVC在看到多个时会变得混乱。
我的文件位于应用程序的基础之内,例如/ MyApp的/ MyFile的。我想做的是,当用户导航到该文件时。如果我错了,用户会看到,纠正我,HTTP 401错误或其他什么。
答案 0 :(得分:1)
为了做到这一点,将文件粘贴在App_Data下的文件夹中,这将阻止直接访问,然后您需要创建一个控制器来处理对文件的访问。首先创建一条路线:
routes.MapRoute("", "Files/{file}", new { controller = "File", action = "View" });
然后将Authorize属性应用于操作并使用
return File(...);
实际将文件返回给用户。