生活随笔
收集整理的這篇文章主要介紹了
HttpMoudle实现用户身份验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HttpMoudle實現用戶身份驗證 2009-12-04 19:37
參考自小白.net的HttpMoudle實現用戶身份驗證
下表列出了在 IIS 7.0 集成模式下運行的 ASP.NET 應用程序生命周期的各個階段。
階段
說明
發出一個對應用程序資源的請求。
ASP.NET 應用程序的生命周期以瀏覽器向 Web 服務器發送請求為起點。
在 IIS 7.0 經典模式下以及在 IIS 6.0 中,ASP.NET 請求管道與 Web 服務器管道分離。模塊僅應用于路由到 ASP.NET ISAPI 擴展的請求。如果請求的資源類型的文件擴展名未顯式映射到 ASP.NET,則不會為該請求調用 ASP.NET 功能,因為 ASP.NET 運行庫沒有處理該請求。
而在 IIS 7.0 集成模式下,由一個統一的管道處理所有請求。當集成管道收到請求時,該請求將經歷所有請求共有的一些階段。這些階段由 枚舉表示。所有請求都可以配置為使用 ASP.NET 功能,因為該功能封裝在可以訪問請求管道的托管代碼模塊中。例如,即使 .htm 文件擴展名未顯式映射到 ASP.NET,對 HTML 頁的請求仍會調用 ASP.NET 模塊。這使您能對所有資源使用 ASP.NET 身份驗證和授權。
統一管道接收對應用程序的第一個請求。
當統一管道接收對應用程序中的任何資源的第一個請求時,將為 類創建一個實例,該實例就是處理請求的應用程序域。應用程序域提供了應用程序之間全局變量的分離,并且使每個應用程序能夠單獨卸載。在應用程序域中,將為 類創建一個實例,該實例提供對有關應用程序的信息(如存儲該應用程序的文件夾的名稱)的訪問。
在第一個請求期間,如果需要,將對應用程序中的頂級項進行編譯,其中包括 App_Code 文件夾中的應用程序代碼。可以根據本主題后面的 IIS 7.0 中的托管代碼模塊中的說明,在 App_Code 文件夾中包含自定義模塊和處理程序。
將為每個請求創建響應對象。
在創建了應用程序域并對 對象進行了實例化之后,將創建并初始化應用程序對象,如 、 和 。 類包含特定于當前應用程序請求的對象,如 和 對象。 對象包含有關當前請求的信息,包括 Cookie 和瀏覽器信息。 對象包含發送到客戶端的響應,其中包括所有呈現的輸出和 Cookie。
下面是 IIS 6.0 和 IIS 7.0(在集成模式下,與 .NET Framework 3.0 或更高版本一起運行)之間的某些關鍵差異:
將 對象分配給請求
初始化所有應用程序對象之后,將通過創建 類的實例來啟動應用程序。如果應用程序有 Global.asax 文件,則 ASP.NET 會創建從 類派生的 Global.aspx 類的實例。然后使用該派生類來表示應用程序。
注意: 第一次在應用程序中請求 ASP.NET 頁或進程時,將創建 類的一個新實例。不過,為了盡可能提高性能,可對多個請求重復使用 實例。
加載哪些 ASP.NET 模塊(如 )取決于應用程序從父應用程序繼承的托管代碼模塊。這還取決于在應用程序的 Web.config 文件的配置節中配置了哪些模塊。在應用程序的 Web.config 的 system.webServer 節中的 modules 元素中添加或移除模塊。有關更多信息,請參見如何:為 IIS 7.0 配置 <system.webServer> 節。
由 管線處理請求。
在處理請求時, 類會執行下列任務。這些事件對于希望在引發關鍵請求管道事件時運行代碼的網頁開發人員很有用。如果是在開發自定義模塊,并且希望對發往管道的所有請求都調用該模塊,則這些事件也很有用。自定義模塊實現 接口。在 IIS 7.0 集成模式下,必須在模塊的 方法中注冊事件處理程序。
對請求進行驗證,將檢查瀏覽器發送的信息,并確定其是否包含潛在惡意標記。有關更多信息,請參見 和腳本侵入概述。
如果已在 Web.config 文件的 節中配置了任何 URL,則執行 URL 映射。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。將根據所請求資源的文件擴展名,選擇相應的處理程序。處理程序可以是本機代碼模塊,如 IIS 7.0 StaticFileModule ,也可以是托管代碼模塊,如 類(它處理 .aspx 文件)。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
為該請求調用合適的 類的 方法(或異步版 )。例如,如果該請求針對某頁,則當前的頁實例將處理該請求。
引發 事件。
引發 事件。
引發 事件。
如果定義了 屬性,則執行響應篩選。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
引發 事件。
注意: 只有當應用程序在 IIS 7.0 集成模式下運行,并且與 .NET Framework 3.0 或更高版本一起運行時,才會支持 、 和
轉載于:https://www.cnblogs.com/aion111/archive/2010/02/02/1661856.html
總結
以上是生活随笔 為你收集整理的HttpMoudle实现用户身份验证 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。