2009年1月23日 星期五

在 IIS 7 上,讓 FormsAuthentication 也可以套用到 jpg 檔案

在IIS 6 的時代,處理 asp.net 的要求需要兩個階段。

舉例來說,一個 .aspx 的 client request 送到 IIS 6 上後,先由 IIS 的驗證後,再交給 asp.net 的 isapi 來處理。(兩階段)

在 IIS 7 的整合模式後,就可以直接交給 asp.net 了。 因此,我們可以將 Anonymouse 關掉,只剩下 FormsAuthentication. 如下圖。

image

這樣還是不夠的。原因是,預設 FormsAuthetication 只會管 managed resources。因此,必須設定讓它可以管 non-managed resources。

 

打開 C:\Windows\System32\inetsrv\config\applicationHost.config,可以見到下面這一段的設定


    
      
        
      
    
  

注意 precondition="managedHandler" 的屬性設定,代表著只管理 managed resource了。

所以,我們只需要在應用程式目錄中,增加 web.config中的 http modules 設定,將該段重新設定。

 
    
      
      
    
  

我們將 modules 區段中,FormsAuthentication 的設定移除後再重新加入,並將precondition="managedHandler" 的屬性拿掉,意味著不必再分是否是 managed resource了。

經過了這兩個步驟,這輕易達成我們的目標

沒有留言:

Share with Facebook