保护mvc3环境中的文件

时间:2012-01-19 07:50:37

标签: asp.net-mvc-3 security forms-authentication

所以我有一个使用FormsAuthentication的MVC3应用程序。用户登录时,会创建故障单,并将其定向到其信息中心。

在控制器上,我使用[Authorize]属性来确保操作仅由授权人员执行。

但是,网站的一部分允许用户上传文件。当文件上传时,将重命名为具有正确扩展名的随机字符串(没有破折号的guid)。

如何将未经身份验证和未经授权的用户限制在此目录中,并根据我在MVC3环境中使用的FormsAuthentication查看这些文件?

1 个答案:

答案 0 :(得分:1)

在包含文件的文件夹中创建一个Web.Config文件,其中包含以下条目。

<configuration>
  <system.web>
    <authorization>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>

这将阻止直接访问所有用户的文件夹中的文件。证明用户界面访问文件。在那里,您可以检查用户可以访问哪些文件,并阻止访问所有文件。

如果您希望直接访问特定授权用户组的文件夹,则需要将其添加到角色并授予该角色的权限。

<configuration>
  <system.web>
    <authorization>
      <allow roles="Admin" />
      <deny users="*" />
    </authorization>
  </system.web>
</configuration>
相关问题