asp.net判断用户是否登录
最简单的代码:
if(Session["LoginUser"] == null) //注意:Session["LoginUser"]后面,没有ToString()哦,你要是加上的话,就会出错了.
{
Response.Redirect("Login.Aspx"); //如果Session为空,则转到登陆页.
}
一个更简单的办法:
假设一个网站有很多页面,如果用户没有登录,那么不允许访问网站里的任何页面,你打算怎么做?是不是要在每一个页面里都判断Session["UserName"]是否等于null?这样做也行,但是如果网站页面很多,就是不停的ctrl + c,ctrl+v估计也要很久,再假设如果有一天判断条件改变了呢,是否要一一修改?下面说一个方法:
首先定义一个BasePage类,里面负责写判断用户身份登录的代码,如下:
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;
/// <summary>
/// BasePage 的摘要说明
/// </summary>
public class BasePage:System.Web.UI.Page//这个很重要
{
public BasePage()
{
//
// TODO: 在此处添加构造函数逻辑
//
this.Load += new EventHandler(BasePage_Load);
}
void BasePage_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
Response.Redirect("Login.aspx");
}
}
}
然后,让只有登录后才允许访问的页面继承该BasePage类,这里假设页面是Default.aspx,代码如下:
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 partial class _Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
这里省略Defaut.aspx.的前台代码,下面运行该页面,是不是发生了跳转,到Login.aspx.
技术原理:
如果类A 继承自类B,类B继承自类C,那么如果实例化类A,会依次调用类c,类B,类A的构造函数,也就是说,实例化子类时,会优先调用父类的构造函数
最新文章
- Java SE、Java EE和Java ME有什么区别?
- 语句:分支语句、switch case ——7月22日
- struts (一)
- C++检测一个文件是否存在
- 【原】隐藏ultraGrid1指定列
- MSMQ是什么?
- C++多线程编程(三)线程间通信
- iso-开发基础知识-5-适配器
- Eclipse中删除tomcat server 导致不能重新创建该版本的tomcat server
- Makefile Android.mk 引发的思索
- app后端设计(13)--IM4JAVA+GraphicsMagick实现中文水印
- WPF:Webbrowser 捕获关闭事件
- Java 多线程加锁的方式总结及对比(转载)
- RabbitMQ消息队列(三)-Centos7下安装RabbitMQ3.6.1
- DB SQL Monitor 会话状态及等待事件监控工具
- npm 命令
- Confluence 6 MySQL 数据库设置准备
- 使用Jupyter Notebook编写技术文档
- Linux下如何查看系统启动时间和运行时间(转)
- (原)阅读Android-Camera2Video的demo源码和调试心得
热门文章
- Win7搭建Django开发环境
- Primefaces 中e.offset(...)问题的处理
- iOS 中 Touch ID得使用方法
- django datetime format 日期格式化
- visual studio 2013 使用IIS Express附加调试MVC5
- Problem A: 走迷宫问题
- python的filter()函数
- PhoneGap笔记-01 基本使用
- QT 判断当前焦点是否在某控件上(使用hasFocus函数,毕竟QT是DIRECTUI,所以这个Focus到底代表了什么呢?)
- perl5 第九章 关联数组/哈希表