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