我已經編寫了一個httphandler來攔截來自特定文件夾的所有pdf文件請求,並將用戶重定向到登錄頁面。如果用戶通過身份驗證,則可以下載該文件。我的web.config中有攔截如何編寫httphandler以僅攔截特定文件夾中的文件
<httpHandlers>
<add verb="*" path="/calderdale/*.pdf"
type="NES.HiLo.Security.CalderDaleAuthenticationHandler, NES.HiLo.Security" />
</httpHandlers>
以下條目在IIS(6.0)應用擴展設置我加入了具有可執行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
和擴展PDF格式的設置。
這項工作,但每個pdf文件的請求被攔截,而calderdale目錄中的文件。
我嘗試過解決這個鏈接Mapping specific folder to HttpHandler in web.config的解決方案,並刪除了應用程序擴展設置,但處理程序根本就沒有得到調用。
任何想法?
您可以使用httpModule而不是httpHandler。 –
我無法使用httpmodules,因爲我們只能使用httphandler通過處理程序來保護文件。例如www.domainname.com/foldername/somefile.doc將打開該文件,無論httpmodule存在 – rumi
@Learner你給的鏈接說放置另一個web.config文件在文件夾中,事實上,你有路徑=「/ calderdale/* .pdf「表明你還沒有完成接受的答案所要做的事情,即把web.config放在文件夾'calderdale'中,並將路徑改爲path =」*。pdf「 –