如何限制对文件系统中文件的访问(ASP.NET Web应用程序目录)?

时间:2012-10-29 09:02:40

标签: asp.net .net file-io web-applications file-permissions

正在开发ASP.Net Web应用程序。在该用户可以上传文档,他们可以在需要时查看相同的文档。这些上传文件保存在文件系统中(路径: - WebApp / Uploads / Docs )。只有当用户是文档的所有者或上传时,才会向用户提供。

我的问题是:包含此 WebApp / Uploads / Docs / Doc1.doc 的文件
path只能由该文档的上传者/所有者访问。

必须限制其他应用程序用户访问此路径。

那么,我可以在此文件提供给其他用户之前进行检查(用户是否是所有者)。

2 个答案:

答案 0 :(得分:2)

我会建议您将文档保留在网站目录之外,因为这会将文档暴露给未经授权的下载。

至于您需要的检查,您可以为您的文档创建一个通用处理程序(* .ashx),以验证文档所有者,并仅将内容提供给允许的用户。

HTTP Handlers and HTTP Modules Overview

答案 1 :(得分:0)

您可以通过Web.config实现此目的 在web.config下添加元素..

在元素中,添加配置元素和配置元素。使用users属性指定以逗号分隔的用户名列表。您可以使用问号(?)作为匹配任何用户名的通配符。例如,以下代码拒绝访问除user1和user2之外的所有用户:

<authorization>
    <allow users="user1, user2"/>
    <deny users=”?”/>
</authorization>