首页 > 代码库 > asp.net 在AcquireRequestState事件中判断登陆验证。

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

 

asp.net 在AcquireRequestState事件中判断登陆验证。