淺析ASP.NET應(yīng)用程序
ASP.NET系統(tǒng)中默認(rèn)的HttpModule:
Default Authentication Module 確保上下文中存在Authentication對(duì)象。無(wú)法繼承此類(lèi)。
FileAuthorizationModule 驗(yàn)證遠(yuǎn)程用戶(hù)是否具有訪問(wèn)所請(qǐng)求文件的 NT 權(quán)限。無(wú)法繼承此類(lèi)。
Forms Authentication Module 啟用 ASP.NET應(yīng)用程序以使用 Forms 身份驗(yàn)證。無(wú)法繼承此類(lèi)。
Passport Authentication Module 提供環(huán)繞,Passport Authentication服務(wù)的包裝。無(wú)法繼承此類(lèi)。
SessionStateModule 為ASP.NET應(yīng)用程序提供會(huì)話狀態(tài)服務(wù)。
UrlAuthorizationModule 提供基于 URL 的授權(quán)服務(wù)以允許或拒絕對(duì)指定資源的訪問(wèn)。無(wú)法繼承此類(lèi)。
Windows Authentication Module 啟用 ASP.NET應(yīng)用程序以使用 Windows/IIS 身份驗(yàn)證。無(wú)法繼承此類(lèi)
這些系統(tǒng)默認(rèn)的HttpModule是在文件machine.config中配置的,和我們開(kāi)發(fā)時(shí)使用到的web.config的關(guān)系是:是在ASP.NET FRAMEWORK啟動(dòng)處理一個(gè)Http Request的時(shí)候,它會(huì)依次加載machine.config和請(qǐng)求頁(yè)面所在目錄的web.config文件,如果在machine中配置了一個(gè)自己的HttpModule,你仍然可以在所在頁(yè)面的web.config文件中remove掉這個(gè)映射關(guān)系。
- publicclassHelloWorldModule:IHttpModule
- {
- publicHelloWorldModule()
- {
- }
- publicStringModuleName
- {
- get{return"HelloWorldModule";}
- }
- //IntheInitfunction,registerforHttpApplication
- //eventsbyaddingyourhandlers.
- publicvoidInit(HttpApplicationapplication)
- {
- application.BeginRequest+=
- (newEventHandler(this.Application_BeginRequest));
- application.EndRequest+=
- (newEventHandler(this.Application_EndRequest));
- }
- privatevoidApplication_BeginRequest(Objectsource,
- EventArgse)
- {
- //CreateHttpApplicationandHttpContextobjectstoaccess
- //requestandresponseproperties.
- HttpApplicationapplication=(HttpApplication)source;
- HttpContextcontext=application.Context;
- context.Response.Write("<h1><fontcolorfontcolor=red>
HelloWorldModule:BeginningofRequestfont>h1><hr>");- }
- privatevoidApplication_EndRequest(Objectsource,EventArgse)
- {
- HttpApplicationapplication=(HttpApplication)source;
- HttpContextcontext=application.Context;
- context.Response.Write("<hr><h1><fontcolorfontcolor=red>
HelloWorldModule:EndofRequestfont>h1>");- }
- publicvoidDispose()
- {
- }
- }
- <system.web>
- <httpModules>
- <addnameaddname="HelloWorldModule"type="HelloWorldModule"/>
- httpModules>
- system.web>
【編輯推薦】

















