您的位置:首页 > 编程语言 > ASP

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

2014-11-07 02:00 399 查看
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");
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐