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"); } } } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。