2

我有一个应用程序,管理员用户可以在其中创建用户并将文档上传到服务器以供创建的用户下载。

上传文件时,它会使用用户 ID 作为文件夹名称创建一个文件夹,并将该文件夹保存在名为文档的文件夹中,例如 ~documents/77b29079-43d6-4520-bc34-77ae2af1b131/documentname.xls

客户端然后必须登录,并且将只看到该用户的可用文档列表。唯一的问题是,如果有人要获取文档的其中一个 url,则无需登录即可下载。

我可以做些什么来停止访问这些文件吗?我尝试编辑 web.config 文件以仅允许访问某些角色,但我仍然可以在不登录的情况下下载文档。

<location path="documents">
    <system.web>
        <authorization>
            <allow roles="Admin, Client"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>

谢谢你的帮助。J。

4

1 回答 1

1

@rlb.usa 在评论中提供的链接有两个很好的方法。另一种选择是将文档存储在数据库中,并使用应用程序代码或数据库安全性来确定谁可以访问什么。当然,这会带来一系列不同的问题和优势。如果您使用的是 SQL Server,会带来一些利弊。

于 2011-06-29T17:23:30.373 回答