Mega Code Archive

 
Categories / ASP.Net Tutorial / Development
 

Creating Custom HTTP Modules

An HTTP Module is a .NET  class that executes with each and every page request.  The HTTP Module doesn't allow you to request a page unless you include the proper query string with the request.  File: App_Code\QueryStringAuthenticationModule.cs using System; using System.Web; namespace MyNamespace {     public class QueryStringAuthenticationModule : IHttpModule     {         public void Init(HttpApplication app)         {             app.AuthorizeRequest += new EventHandler(AuthorizeRequest);         }         private void AuthorizeRequest(Object sender, EventArgs e)         {             HttpApplication app = (HttpApplication)sender;             HttpContext context = app.Context;             string path = context.Request.AppRelativeCurrentExecutionFilePath;             if (String.Compare(path, "~/login.aspx", true) == 0)                 return;             bool authenticated = false;             if (context.Request.QueryString["password"] != null)             {                 if (context.Request.QueryString["password"] == "secret")                     authenticated = true;             }             if (!authenticated)                 context.Response.Redirect("~/Login.aspx");         }         public void Dispose() { }     } }              Register the HTTP Module in the web configuration file.  File: Web.Config <configuration>     <system.web>       <httpModules>         <add name="QueryStringAuthenticationModule"              type="MyNamespace.QueryStringAuthenticationModule"/>       </httpModules>     </system.web> </configuration>