2

我正在使用 ASP.Net MVC,我想知道如何限制对某个文件的访问。我阅读了有关使用 [Authorize] 的信息,但它适用于控制器和操作。我尝试在 web.config 中使用,但它非常建议不要这样做,因为 MVC 在看到多个 .

我的文件位于应用程序的基础中,例如 /MyApp/MyFile。我想做的是,当用户导航到文件时。用户会看到,如果我错了,请纠正我,HTTP 401 错误之类的。

4

1 回答 1

2

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

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

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

return File(...);

将文件实际返回给用户。

于 2012-10-09T11:37:37.300 回答