ASP.NET的中自定义类实现统一身份验证程序代码

在ASP.NET开发过程中,经常会进行身份验证。比较麻烦的做法是,对每个页面添加验证代码。我们知道,ASP.NET的页面都继承自System.Web.UI.Page类,我们可以自定义一个类,让它继承自Page类,并在该类中添加验证操作。然后让需要验证的页面类,继承自我们定义的这个类,就可以实现统一验证功能。

1、创建用于验证页面的基类BasePage,该类继承自Page类

 代码如下 复制代码

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;

/// <summary>
/// 所有需要验证的页面基类
/// </summary>
public class BasePage : System.Web.UI.Page
{
    /// <summary>
    /// 构造函数
    /// </summary>
    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");
        }
    }
}

2、所有需要验证的界面,继承自BasePage类

    新建一个页面demo.aspx,该页面需要有验证操作,则将该页面的基类由Page改为BasePage:

 代码如下 复制代码
public partial class demo : System.Web.UI.Page

    更改为:

 代码如下 复制代码

public partial class demo : BasePage

    更改以后,demo.aspx页面加载时,将会检测Session中的UserID,为空的话,将跳转到注册登录界面。以后需要验证的页面,都继承自Basepage类就OK了。

 

时间: 2024-09-08 19:13:03

ASP.NET的中自定义类实现统一身份验证程序代码的相关文章

类调用窗体控件-C#中自定义类给窗体中的textbox.text赋值

问题描述 C#中自定义类给窗体中的textbox.text赋值 C#项目中,定义了一个类reader.cs 现在想在reader中调用from1中的textbox1并且直接给textbox1.text赋值. 请教各位了. 解决方案 textbox1.text="";就行了. 解决方案二: 先把textbox1的访问修饰符改成public 再textbox1.text=(string)赋值的文本; //from1.cs public TextBox tb=new TextBox(); /

asp.net中常用的几种身份验证方式

前言 在B/S系统开发中,经常需要使用"身份验证".因为web应用程序非常特殊,和传统的C/S程序不同,默认情况下(不采用任何身份验证方式和权限控制手段),当你的程序在互联网/局域网上公开后,任何人都能够访问你的web应用程序的资源,这样很难保障应用程序安全性.通俗点来说:对于大多数的内部系统.业务支撑平台等而言,用户必须登录,否则无法访问和操作任何页面.而对于互联网(网站)而言,又有些差异,因为通常网站的大部分页面和信息都是对外公开的,只有涉及到注册用户个人信息的操作,或者网站的后台

asp.net中几种常用的身份验证方法总结_实用技巧

前言 在B/S系统开发中,经常需要使用"身份验证".因为web应用程序非常特殊,和传统的C/S程序不同,默认情况下(不采用任何身份验证方式和权限控制手段),当你的程序在互联网/局域网上公开后,任何人都能够访问你的web应用程序的资源,这样很难保障应用程序安全性.通俗点来说:对于大多数的内部系统.业务支撑平台等而言,用户必须登录,否则无法访问和操作任何页面.而对于互联网(网站)而言,又有些差异,因为通常网站的大部分页面和信息都是对外公开的,只有涉及到注册用户个人信息的操作,或者网站的后台

schema-Schema文档中自定义complexType,为什么无法使用?见代码

问题描述 Schema文档中自定义complexType,为什么无法使用?见代码 **<?xml version="1.0" encoding="UTF-8"?> targetNamespace="book_shelf" elementFormDefault="qualified"> xs:sequence /xs:sequence /xs:complexType /xs:schema 倒数第二行错误提示:s

matlab-求MATLAB中CT 图像重建中的ART和SART算法的程序代码

问题描述 求MATLAB中CT 图像重建中的ART和SART算法的程序代码 求各位大神帮忙,求MATLAB中CT 图像重建中的ART和SART算法的程序代码,我的邮箱:21227023@zju.edu.cn.谢谢各位啦!!! 解决方案 不太会Matlab,在用Mathematica 解决方案二: 已经找到了相应的程序代码了,3Q 解决方案三: 能不能分享一下代码,3q,1448338302@qq.com

openssl-加密中的定时检测进行身份验证

问题描述 加密中的定时检测进行身份验证 openssl加密中有定时检测吗? 例如:程序运行10分钟,就进行一次身份认证? 还有别的什么加密有这种定时检测进行身份验证的吗? 急求答案? 解决方案 这个定时要你自己做,openssl只负责身份验证.

怎样把存储在数据库中的字符串形式的表达式写入程序代码中

问题描述 怎样把存储在数据库中的字符串形式的表达式写入程序代码中 代码是if..else if...else if... 其中的表达式存在数据库中,字符串形式存在的 怎么把它们写入代码中 解决方案 解决方案二: 不是很明白你说的...

PHP中配置IIS7实现基本身份验证的方法_php技巧

在PHP运行环境中配置IIS7实现基本身份验证的方法,其实IIS7身份验证的方法有好几种,比如Windows身份验证.摘要式身份验证等,相对来说IIS7基本身份验证是最简单的一种,下面以图文方式介绍下IIS7基本身份验证的实现方法及注意事项,希望对PHP入门学习的朋友有所帮助. 准备工作 1.由于默认IIS7并没有安装配置身份验证功能,所以如果想要实现IIS7基本身份验证,首先必须安装IIS7身份验证功能,你需要打开 控制面板>程序和功能>打开或关闭Windows功能,找到IIS,选择基本身份

asp.net C#中timer类的用法

于C#中timer类  在C#里关于定时器类就有3个   1.定义在System.Windows.Forms里   2.定义在System.Threading.Timer类里   3.定义在System.Timers.Timer类里  System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console