zoukankan      html  css  js  c++  java
  • 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的构造函数,也就是说,实例化子类时,会优先调用父类的构造函数

     转自:http://www.cnblogs.com/360S/archive/2011/11/21/2257099.html
    session丢失问题:http://www.cnblogs.com/yongning/archive/2007/11/10/955261.html
  • 相关阅读:
    CSS为英文和中文字体分别设置不同的字体
    进程控制之孤儿进程
    求解逻辑问题:谁养鱼
    2019-7-29-win10-uwp-如何使用DataTemplate
    2019-7-29-win10-uwp-如何使用DataTemplate
    2018-8-10-win10-uwp-修改Pivot-Header-颜色
    2018-8-10-win10-uwp-修改Pivot-Header-颜色
    2018-10-17-Sublime-Text-好用的插件
    2018-10-17-Sublime-Text-好用的插件
    2018-11-13-WPF-禁用实时触摸
  • 原文地址:https://www.cnblogs.com/youxin/p/3168677.html
Copyright © 2011-2022 走看看