Global中添加AcquireRequestState事件。
protected void Application_AcquireRequestState(object sender, EventArgs e) { Uri url = Request.Url; //得到當前請求的URL //訪問Admin目錄,需要進行登陸驗證。 if (url.AbsolutePath.ToLower().StartsWith("/admin")) { //如果Login.aspx寫在admin目錄下,需要排除對Login.aspx驗證。 if (HttpContext.Current.Session["Name"] == null) { HttpContext.Current.Response.Redirect("~/Login.aspx"); } } }
也可以使用IHttpModule接口,創建一個類,在配置文件中調用下。
//不要忘記:在配置文件中配置一下。
//<httpModules>
// <add name="CheckAdminModule" type="Web.Common.CheckAdminModule"/>
//</httpModules>
public class CheckAdminModule:IHttpModule { public void Init(HttpApplication context) { context.AcquireRequestState += new EventHandler(OnAcquireRequestState); } public void OnAcquireRequestState(object sender, EventArgs e) { HttpApplication application = sender as HttpApplication; Uri url = application.Request.Url; //得到當前請求的URL //訪問Admin目錄,需要進行登陸驗證。 if (url.AbsolutePath.ToLower().StartsWith("/admin")) { //如果Login.aspx寫在admin目錄下,需要排除對Login.aspx驗證。 if (application.Session["Name"] == null) //HttpContext.Current.Session["Name"] { application.Response.Redirect("~/Login.aspx"); } } } }