2009-06-12 31 views
2

我在網站文件夾中有文件,但需要檢查每個文件的權限。 我決定爲此目的使用HttpModule。通過ASP.NET中的HttpModule處理靜態文件

ASP.NET接收所有HTTP的請求(I使用通配符映射)和

的algorith如下:

  1. HTTP模塊接收請求
  2. HTTP模塊檢查權限
  3. 如果訪問被拒絕,那麼答案是「禁止」。如果一切正常,那麼httpModule的方法就會返回。
  4. DefaultHttpHandler被自動用於處理靜態文件

的問題是,DefaultHttpHandler沒有足夠有效的(它不使用文件緩存等)的要求。但IIS(無ASP.NET)以非常好的方式處理靜態文件。

我想要的是讓IIS在我的檢查後提供靜態文件。 有什麼辦法可以實現它嗎?

回答

2

如果你使用的是IIS7,那麼是的,這很容易。在集成模式下,所有請求都經過管理的管道。讓IIS提供這些文件,但添加一個HttpHandler來執行檢查。或者您可以使用ASP.NET提供的授權方法之一。

+0

如果您使用的是IIS6,我很樂意看到一個不涉及檢查權限的解決方案,然後流式傳輸文件。 – ScottE 2009-06-13 12:46:35

相關問題