2014-02-18 101 views
0

我在我的web應用程序中創建了一個安全路徑。web.config中的安全路徑/文件夾

喜歡在這個環節提到: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

得到了解決方案。

登錄後,當點擊下載在具有甲.PDF巴紐txt文件,
瀏覽器didnt下載文件 - 但在同一標籤
表明,它(和瀏覽器緩存的話,我想是這樣...糾正我,如果我錯了!!!)
在.doc .xls的情況下,它打開對話框下載(沒有緩存)。

註銷後,瀏覽.pdf .png .txt的下載鏈接
它從緩存中打開/加載它。
另一方面,而衝浪.doc .xls重定向我登錄

0

當你web.config確保您的網頁和某些文件,PDF文件,像許多其他靜態文件,正在擔任了直接通過IIS。

您可以強制這些其他靜態文件通過在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中。