ASP.NET系统中默认的HttpModule:
Default Authentication Module 确保上下文中存在Authentication对象。无法继承此类。
FileAuthorizationModule 验证远程用户是否具有访问所请求文件的 NT 权限。无法继承此类。
Forms Authentication Module 启用 ASP.NET应用程序以使用 Forms 身份验证。无法继承此类。
Passport Authentication Module 提供环绕,Passport Authentication服务的包装。无法继承此类。
SessionStateModule 为ASP.NET应用程序提供会话状态服务。
UrlAuthorizationModule 提供基于 URL 的授权服务以允许或拒绝对指定资源的访问。无法继承此类。
Windows Authentication Module 启用 ASP.NET应用程序以使用 Windows/IIS 身份验证。无法继承此类
这些系统默认的HttpModule是在文件machine.config中配置的,和我们开发时使用到的web.config的关系是:是在ASP.NET FRAMEWORK启动处理一个Http Request的时候,它会依次加载machine.config和请求页面所在目录的web.config文件,如果在machine中配置了一个自己的HttpModule,你仍然可以在所在页面的web.config文件中remove掉这个映射关系。
- 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>
【编辑推荐】