我有一个应用程序,管理员用户可以创建用户并将文档上传到服务器,供创建的用户下载。
上传文件时,使用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>
感谢您的帮助。学家
答案 0 :(得分:1)
@ rlb.usa在评论中提供的链接有两个很好的方法。另一种方法是将文档存储在数据库中,并使用应用程序代码或数据库安全性来确定谁可以访问什么。当然,这带来了一系列不同的问题和优势。如果您使用的是SQL Server,this会遇到一些优点和缺点。