asp.net 在AcquireRequestState事件中判斷登陸驗證。


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");
      }
    }
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM