利用.net的内部机制在asp.net中实现身份验证

知识点: 

在ASP.NET中,任何页面都是继承于System.Web.UI.Page,他提供了Response,Request,Session,Application的操作.在使用Visual Studio 创建asp.net页面时,系统会自动为你创建一个继承与System.Web.UI.Page的类与页面文件关联. 

public partial class newPage:System.Web.UI.Page
{
    protected void Page_Load(Object sender,EventArgs e)
    {
         
    }
}

 正文: 

1: 在项目中添加一个类文件(checkUser.cs),这个文件需要继承System.Web.UI.Page,然后在这个文件里统一设置权限,然后其他文件继承它

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public class checkUser : System.Web.UI.Page      //需要继承Page类
{
    public checkUser()
    {
        this.Load += new EventHandler(checkUser_Load);    //加一个事件
    }

    void checkUser_Load(object sender, EventArgs e)
    {       
        if (Session["UserInfo"] == null)
        {
            Response.Write("<script type='javascript'>alert('您的登录无效!');</script>");            
            Response.Redirect("~/身份验证/login.aspx"); //使用~来保证无论在什么目录层次进行身份验证都能跳转到后台登录页面  
        }
    }
}

2:对于后台任何需要进行身份验证的页面,只需将它更改为继承自checkUser类即可,这样这些类中就不需要编写任何身份验证的代码了。

public partial class 身份验证_userCenter : checkUser     //需要继承checkUser
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("欢迎光临用户中心!");
    }
}

以下方法参考周公博客, http://www.cnblogs.com/zhoufoxcn/archive/2009/02/11/2515680.html

原文地址:https://www.cnblogs.com/enamorbreeze/p/5254886.html