.NET表单身份验证:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户
我正在使用.net2.0和IIS6 使用.net表单身份验证时:如何将对资源(如pdf文件)的访问权限限制为仅经过身份验证的用户;因此,为了访问文件,比如mysite.com/mydoc.pdf,必须首先对其进行身份验证(查看登录页面) 默认情况下,似乎只有.aspx页面受到保护。例如,要包含.html,我必须遵循所描述的步骤 编辑 感谢大家的快速回复,这对我来说非常有效,因为我需要一个演示系统的快速修复 其他答案也很有趣,在处理生产系统时也很有用.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以处理通配符
欢迎您发布其他答案您必须配置IIS以处理通配符扩展。因此,将对.pdf和.html扩展进行身份验证。以下是IIS6的操作方法:
您可以将文件存储在一个无法通过web直接访问的目录中,然后用户必须访问一个带有ID的ASPX页面,ID指向他们需要下载的文件。此时,您可以将文件流式输出。是否关闭了匿名访问?如果您刚刚集成了Windows auth,那么如果您使用这些设置设置web配置,它将阻止所有访问
创建一个httphandler,在将文档流式输出到浏览器之前检查经过身份验证的用户。然后,您可以将页面上的链接设置为使用文档id而不是直接指向文件的句柄 完成后,文档可以存储在您选择的足够近的任何位置,即文件系统或数据库,甚至可以根据需要编码为xml文件。当您想移动存储位置,但不想更新web应用程序中的所有链接时,这非常有用 有用链接:
对于无法控制添加通配符的托管环境,这是一个很好的答案。