在WEB上做文件管理,文件存放在WEB外地其它目录,要下载前先需要登录验证权限,有权限才可以下载。我想到的方法有多种:
1 要读取文件时临时复制到WEB目录下。缺点:占用太多系统资源,造成很大磁盘碎片。
2 用流读取,缺点:占用资源。
3 临时建立快捷方式。要删除快捷方式时,如果别人也在使用,就会出错,如果不删除就会出现安全隐患。
4 用ISAPI,做IIS扩展,当访问时就建立映射,把文件映射到WEB目录。在网上看到别人能实现,我不知道怎么做。请问第4种方法怎么实现?

解决方案 »

  1.   

    1。用代码建立临时虚拟目录
    2。转向到临时虚拟目录下的文件进行下载
    3。用代码删除临时虚拟目录.不知可否行,哈,我真有点异想天开。其实楼主这种玩意我也看过很多,没登录前点击下载是该页无法显示(即使是Rar文件的真实URL),登录后点击才是真正能进行下载。
      

  2.   

    谁说文件存放在WEB目录内就不能做权限控制了?谁说文件存放在WEB目录外就没有安全隐患了?
      

  3.   

    请问4楼,WEB目录内怎么控制权限。
    另,如果WEB外的文件被下载,除非是受攻击。
      

  4.   

    http://www.cnblogs.com/chinajj/articles/6552.html
    发现这个,不知道怎么实现
      

  5.   

    4楼的回复意思是说用Windows帐户控制文件夹或文件(NTFS)权限吧。
    不过我想楼主并不是这个意思,楼主记得搞好了也告诉我一声。另外,在相同安全系数的网站下,如果服务器各磁盘的NTFS权限设置正确的话。
    Web目录外的文件肯定要比Web目录里的文件安全,这是毫无疑问的。
      

  6.   

    NTFS?那个我还有必要说吗?ASP.NET安全机制...Membership...Form身分验证...自己去看MSDN...另外App_Data文件夹用得好也很安全...
      

  7.   

    嗯,用基于Forms的身份验证是最好不过的了。
    但如果要放在WEB目录外还是实现不了。