登录验证全局控制的几种方式总结(session)

 更新时间:2014年01月20日 08:52:04   作者:  
在登陆验证或者其他需要用到session全局变量的时候,归结起来,主要有以下三种较方便的实现方式。(其中个人较喜欢使用第一种实现方法)

一,在一个公共类里创建一个公共方法,然后需要验证的页面都调用这个方法
 //在此例子中,就是在入口函数里调用CheckLogin()方法;

复制代码 代码如下:

  public static string SeUserID
        {
            get
            {
                return HttpContext.Current.Session["SeUserID"].ToString();
            }
            set
            {
                HttpContext.Current.Session["SeUserID"] = value;
            }
        }
        /// <summary>
        /// 检查用户是否登录,如果未登录就转到登录页面
        /// </summary>
        public static void CheckLogin()
        {
            if (SeUserID == "" || SeUserID == "0")
            {
                HttpContext.Current.Response.Redirect("ForeignFirms.aspx");
                //HttpContext.Current.Response.Write("<script>window.open('');alert('登陆失效,请重新登陆');</script>");
            }
        }

复制代码 代码如下:

//在cs页面调用验证方法
    protected void Page_Load(object sender, EventArgs e)
    {
        Commom.CommonFunction.CheckLogin();//验证登陆信息
        if (!IsPostBack)
        {
            GetData();
            value = Request.QueryString["id"].ToString();
            if (value != "0")
            {
                GetEdit();
            }
        }
    }

二,通过Global文件来控制
复制代码 代码如下:

protected void Session_Start(Object sender, EventArgs e)
  {
      Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300";
  }   

--读取的方法,在代码中的应用
复制代码 代码如下:

String strConnection=Session["sqlConnectionString"].ToString();
  sqlConnection_1=new SqlConnection(strConnection);

三,通过Web.Config文件配置

//配置Web.Config文件的方法如下:
在Web.Config文件的<system.web></system.web>节点中添加如下代码,设置Session的生命周期为10分钟。

复制代码 代码如下:

<sessionState mode="InProc" timeout="10"></sessionState>

在web.config文件中设置Session时,可以设置以下几个参数:
复制代码 代码如下:

 Mode//该参数用于设置存储会话状态。状态包括Off、Inproc、StateServer和SqlServer。
Off//表示禁用会话状态
Inproc//表示工作进程自身存储会话状态
StateServer//表示将把会话信息存放在一个单独的ASP.NET状态服务中
SqlServe//r表示将把会话信息存放在SQL Server数据库中。
StateConnecitonString//该参数用于设置ASP.NET应用程序存储远程会话状态的服务器名,默认名为本地。
Cookieless//当该参数值设置为True时,表示不使用Cookie//会话标识客,反之设置为False时,标识启动Cookie会话状态。
SqlConnectionString//该参数用于设置SQL Server数据库连接。
Timeout//该参数用于设置会话时间,超过该期限,会自动中断会话,默认设置为20。

相关文章

  • C#使用Tesseract进行Ocr识别的方法实现

    C#使用Tesseract进行Ocr识别的方法实现

    本文主要介绍了C#使用Tesseract进行Ocr识别的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#实现数独解法

    C#实现数独解法

    这篇文章介绍了C#实现数独解法的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 深入浅析C#泛型类型

    深入浅析C#泛型类型

    这篇文章主要介绍C#泛型类型,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • C#中利用代理实现观察者设计模式详解

    C#中利用代理实现观察者设计模式详解

    学习模式注重精髓而非模板,本文为了便于说明假定了三方并对三方功能进行了划分,实际应用并不拘泥于此。如果情况合适将数据(文档)类设计为单件模式也是一种很不错的选择
    2014-01-01
  • 使用SmtpClient发送邮件的方法

    使用SmtpClient发送邮件的方法

    本来想试试用SmtpClient来做一个简单的发送邮件的Demo程序。却不想在中途遇上了意料之外的事情,使得这次试验过程变得有些曲折。
    2013-03-03
  • c# 类成员初始化顺序的特殊情况

    c# 类成员初始化顺序的特殊情况

    这篇文章主要介绍了c# 类成员初始化顺序的特殊情况,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C# List引用类型克隆的3种方法

    C# List引用类型克隆的3种方法

    这篇文章主要给大家介绍了关于C# List引用类型克隆的3种方法,包括反射、序列化(依赖Newtonsoft.Json) 以及序列化(BinaryFormatter)的实现方法,需要的朋友可以参考借鉴,下面来一起看看吧
    2019-01-01
  • C#实现数字转换汉字的示例详解

    C#实现数字转换汉字的示例详解

    这篇文章主要为大家详细介绍了如何利用C#实现数字转换汉字功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 如何用C#在PC上查找连接蓝牙设备并实现数据传输

    如何用C#在PC上查找连接蓝牙设备并实现数据传输

    这篇文章主要介绍了如何用C#在PC上查找连接蓝牙设备并实现数据传输,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • c#简单读取文本的实例方法

    c#简单读取文本的实例方法

    c#简单读取文本的实例方法,需要的朋友可以参考一下
    2013-04-04

最新评论