停止未经授权的用户下载文档

时间:2011-06-29 17:00:19

标签: asp.net vb.net asp.net-membership asp.net-roles

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

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

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

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

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

感谢您的帮助。学家

1 个答案:

答案 0 :(得分:1)

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