我正在开发一个 ASP.Net Web 应用程序。在那个用户可以上传文件,他们可以在需要时查看相同的文件。这些上传保存在文件系统中(路径:- WebApp/Uploads/Docs)。仅当用户是文档的所有者或上传时,才会将其提供给用户。
我的问题是:具有此 WebApp/Uploads/Docs/Doc1.doc
路径的文件只能由该文档的上传者/所有者访问。
必须限制其他应用程序用户访问此路径。
那么,在将此文件提供给其他用户之前,我可以进行检查(用户是否为所有者)。?
我正在开发一个 ASP.Net Web 应用程序。在那个用户可以上传文件,他们可以在需要时查看相同的文件。这些上传保存在文件系统中(路径:- WebApp/Uploads/Docs)。仅当用户是文档的所有者或上传时,才会将其提供给用户。
我的问题是:具有此 WebApp/Uploads/Docs/Doc1.doc
路径的文件只能由该文档的上传者/所有者访问。
必须限制其他应用程序用户访问此路径。
那么,在将此文件提供给其他用户之前,我可以进行检查(用户是否为所有者)。?
我会建议您将文档保留在网站目录之外,因为这会使它们暴露在未经授权的下载中。
至于您需要的检查,您可以为您的文档创建一个通用处理程序 (*.ashx),该处理程序将验证文档所有者并将内容仅提供给允许的用户。
您可以通过 Web.config 在 web.config 下添加元素来实现这一点。
在元素中,添加配置元素和配置元素。使用 users 属性指定以逗号分隔的用户名列表。您可以使用问号 (?) 作为与任何用户名匹配的通配符。例如,以下代码拒绝除 user1 和 user2 之外的所有用户的访问:
<authorization>
<allow users="user1, user2"/>
<deny users=”?”/>
</authorization>