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

所属分类: 软件编程 / C#教程 阅读数: 109
收藏 0 赞 0 分享

一,在一个公共类里创建一个公共方法,然后需要验证的页面都调用这个方法
 //在此例子中,就是在入口函数里调用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# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多