我在网络应用程序中创建了一条安全路径。
在此链接中提及:http://msdn.microsoft.com/en-us/library/ff648341.aspx
当我使用以下配置来保护我的文件时:
<location path="Secure">
<system.web>
<customErrors mode="RemoteOnly" redirectMode="ResponseRewrite" defaultRedirect="error.html">
</customErrors>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
如果没有loign,则无法访问以下文件:
my host link /secure/xyz/01.doc
my host link /secure/xyz/01.docx
my host link /secure/xyz/01.xls
my host link /secure/xyz/01.xlsx
但是以下文件仍然可以在不登录的情况下访问:
my host link /secure/xyz/01.pdf
my host link /secure/xyz/01.txt
my host link /secure/xyz/01.png
关于这种行为的任何想法? 为什么除办公室文档文件仍可访问? 我需要保护它们。
答案 0 :(得分:0)
当您的web.config
保护您的网页和某些文件时,与许多其他静态文件一样,PDF正由IIS 直接提供。< / p>
您可以通过在web.config中的处理程序部分添加StaticFileHandler
条目来强制这些其他静态文件通过ASP.NET pipleline。
<system.webServer>
<handlers>
<add name="PDFHandler" type="System.Web.StaticFileHandler" path="*.pdf" verb="GET" />
<add name="PNGHandler" type="System.Web.StaticFileHandler" path="*.png" verb="GET" />
<add name="TXTHandler" type="System.Web.StaticFileHandler" path="*.txt" verb="GET" />
</handlers>
</system.webServer>
我猜你的其他办公文档类型已经有类似的东西了。在web.config
或IIS中。
答案 1 :(得分:0)
得到了解决方案。
登录后,点击下载有formate .pdf .png .txt的文件,
浏览器没有下载 - 但它显示在同一个标签中
(和浏览器缓存它,我想是的......如果我错了,请纠正我!!!)
如果是.doc .xls,则打开要下载的对话框(不进行缓存)。
退出后,浏览.pdf .png .txt的下载链接 它打开它/从缓存加载它 另一方面,当冲浪.doc .xls重定向我登录时