假設使用者名和密碼放在cookies username 和password中,在httpmoduler來驗證資料,在所有資料未到達伺服器端的時候做一個判斷。符合條件,就讓進去,不然就要去注冊。 1.建立一個aps.net web項目 2.添加webconfigwenjnia檔案 3.添加一個類checklogin.cs checklogin.cs的 public class checklogin:IHttpModule ... { //記錄目前的網址 private string url; // 在HttpModule的 AuthorizeRequset實行驗證。 public void Application_AuthorizeRequest(object sender, EventArgs e) ...{ HttpApplication application = (HttpApplication)sender; string name = "admin"; string password="123"; string nameGet ; string passwordGet; //擷取但前網址 url = application.Request.RawUrl.ToString(); url = url.Substring(url.LastIndexOf(’/’) + 1); if (url != "login.aspx") ...{ if (application.Request.Cookies["test"] != null) ...{ //資料擷取 nameGet = application.Request.Cookies["name"].Value.ToString(); passwordGet=application.Request.Cookies["password"].Value.ToString(); //資料驗證 if (name!= nameGet || password!=passordGet) ...{ //結束整個Request.直接跳到注冊頁面,這樣就省了伺服器很多的負擔。 application.CompleteRequest(); application.Response.Redirect("~/login.aspx"); } else ...{ application.Response.Write("通過驗證!"); } } else ...{ application.CompleteRequest(); application.Response.Redirect("~/login.aspx"); } } } public void Dispose() ...{} //注冊事件 public void Init(HttpApplication application) ...{ application.AuthorizeRequest += new EventHandler(Application_AuthorizeRequest); } }4.在webconfig的system.web中添加如下的節點: 注意網站中一定要有login,aspx. |