在开发一个Asp.Net应用程序中,经常会用到登录的信息验证,如果在每个页面中添加一段代码进行验证,对于大量的页面要做登录信息验证时工作量大不说,后期程序维护起来也是个费人的事情。因为假如一但登录验证的逻辑有变化,修改就要修改这些所有添加过登录信息验证的页面。
在面向对象编程中,有父类(基类)继承子类,然而在ASP.NET页面的[页面名.aspx.cs]文件中会发现每个这样的文件的都会继承一个System.Web.UI.Page的类,要实现上述在ASP.NET中使用自定义类实现统一管理页面用户登录验证功能,可以关注System.Web.UI.Page这个类,我们可以让我们自定义的类BasePage类继承System.Web.UI.Page类,将要进行登录验证的代码放在这个BasePage类里。然后将所有要进行登录验证的页面都继承BasePage类。
BasePage类实现完成后,假如一个Demo页面要进行登录信息验证,可将原先的代码:
改为如下代码:
这样在要验证的多个页面下,如果有天登录验证逻辑有进行修改的情况下,只要修改BasePage这个类中的验证方法就可以了。
在面向对象编程中,有父类(基类)继承子类,然而在ASP.NET页面的[页面名.aspx.cs]文件中会发现每个这样的文件的都会继承一个System.Web.UI.Page的类,要实现上述在ASP.NET中使用自定义类实现统一管理页面用户登录验证功能,可以关注System.Web.UI.Page这个类,我们可以让我们自定义的类BasePage类继承System.Web.UI.Page类,将要进行登录验证的代码放在这个BasePage类里。然后将所有要进行登录验证的页面都继承BasePage类。
using System;
using System.Data;
using System.Linq;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.Security;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
///
/// 所有需要验证的页面基类
///
public class BasePage : System.Web.UI.Page
{
///
/// 构造函数
///
public BasePage()
{
//添加Load事件的处理方法
this.Load += new EventHandler(BasePage_Load);
}
//页面加载时执行验证
void BasePage_Load(object sender, EventArgs e)
{
//获取Session
if (object.Equals(Session["UserID"], null))
{
//跳转到登陆界面
this.Response.Redirect("~/Login.aspx");
}
}
}
BasePage类实现完成后,假如一个Demo页面要进行登录信息验证,可将原先的代码:
public partial class demo : System.Web.UI.Page改为如下代码:
public partial class demo : BasePage这样在要验证的多个页面下,如果有天登录验证逻辑有进行修改的情况下,只要修改BasePage这个类中的验证方法就可以了。
本文介绍了一种在ASP.NET应用程序中实现统一用户登录验证的方法,通过创建自定义基类BasePage来减少重复代码并简化登录验证逻辑的更新。
3335

被折叠的 条评论
为什么被折叠?



