猿问

关于控制文件下载的问题

http://localhost/dftr/Email/Attachment/cl/test.rar
看上面的地址

我在cl(cl是用户名)文件夹下写了web.config,内容如下
<?xml version="1.0" encoding="utf-8"?>
<configuration>
 
<system.web>
   
<authorization>
     
<deny users="?"/>
     
<allow users="cl"/>
     
<deny users="*"/>
   
</authorization>
 
</system.web>
</configuration>

也就是说只允许cl用户才可以下载这个test.rar文件
OK,我用VS2008编译调试(本地文件系统),一切正常,当用户没有登录,或不是cl登录的时候,程序会自动跳转到login.aspx页面去。

但是,当我把网站架设到IIS6.0上的时候,就不管用了,只要用户在地址栏里输入一开始的地址,不管是否登录都能下载了。
请问这是为什么啊?如何做呢?请高手们不要说隐藏地址,使用session之类的话,因为由于某些原因这个地址是无法隐藏的。
心有法竹
浏览 383回答 3
3回答

德玛西亚99

在iis6下需要自己写Handler处理这个目录下的rar文件,否则会直接当成静态文件处理;其实Handler很简单,就是先调用forms验证权限部分,验证权限,然后使用Response.WriteFile(fileName)

慕村9548890

使用的不是Forms验证?
随时随地看视频慕课网APP
我要回答