Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET表单身份验证:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户_.net_Security_Authentication_File_Iis 6 - Fatal编程技术网

.NET表单身份验证:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户

.NET表单身份验证:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户,.net,security,authentication,file,iis-6,.net,Security,Authentication,File,Iis 6,我正在使用.net2.0和IIS6 使用.net表单身份验证时:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户;因此,为了访问文件,比如mysite.com/mydoc.pdf,必须首先对其进行身份验证(查看登录页面) 默认情况下,似乎只有.aspx页面受到保护。例如,要包含.html,我必须遵循所描述的步骤 编辑 感谢大家的快速回复,这对我来说非常有效,因为我需要一个演示系统的快速修复 其他答案也很有趣,在处理生产系统时也很有用 欢迎您发布其他答案您必须配置IIS以处理通配符

我正在使用.net2.0和IIS6

使用.net表单身份验证时:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户;因此,为了访问文件,比如mysite.com/mydoc.pdf,必须首先对其进行身份验证(查看登录页面)

默认情况下,似乎只有.aspx页面受到保护。例如,要包含.html,我必须遵循所描述的步骤

编辑

感谢大家的快速回复,这对我来说非常有效,因为我需要一个演示系统的快速修复

其他答案也很有趣,在处理生产系统时也很有用


欢迎您发布其他答案

您必须配置IIS以处理通配符扩展。因此,将对.pdf和.html扩展进行身份验证。以下是IIS6的操作方法:


您可以将文件存储在一个无法通过web直接访问的目录中,然后用户必须访问一个带有ID的ASPX页面,ID指向他们需要下载的文件。此时,您可以将文件流式输出。

是否关闭了匿名访问?如果您刚刚集成了Windows auth,那么如果您使用这些设置设置web配置,它将阻止所有访问


创建一个httphandler,在将文档流式输出到浏览器之前检查经过身份验证的用户。然后,您可以将页面上的链接设置为使用文档id而不是直接指向文件的句柄

完成后,文档可以存储在您选择的足够近的任何位置,即文件系统或数据库,甚至可以根据需要编码为xml文件。当您想移动存储位置,但不想更新web应用程序中的所有链接时,这非常有用

有用链接:

对于无法控制添加通配符的托管环境,这是一个很好的答案。