如何在MVC中限制对某个文件的访问

时间:2012-10-09 09:51:05

标签: asp.net-mvc authorize

我正在使用ASP.Net MVC,我想知道如何限制对某个文件的访问。我读到了使用[授权],但它适用于控制器和操作。我尝试在web.config中使用,但它极其建议不要这样做,因为MVC在看到多个时会变得混乱。

我的文件位于应用程序的基础之内,例如/ MyApp的/ MyFile的。我想做的是,当用户导航到该文件时。如果我错了,用户会看到,纠正我,HTTP 401错误或其他什么。

1 个答案:

答案 0 :(得分:1)

为了做到这一点,将文件粘贴在App_Data下的文件夹中,这将阻止直接访问,然后您需要创建一个控制器来处理对文件的访问。首先创建一条路线:

routes.MapRoute("", "Files/{file}", new { controller = "File", action = "View" });

然后将Authorize属性应用于操作并使用

return File(...);

实际将文件返回给用户。