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

时间:2022-09-03 15:25:41 

一,在一个公共类里创建一个公共方法,然后需要验证的页面都调用这个方法
 //在此例子中,就是在入口函数里调用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。

标签:登录验证,session
0
投稿

猜你喜欢

  • Java创建对象(显式创建和隐含创建)

    2022-10-26 13:58:33
  • Android游戏开发学习①弹跳小球实现方法

    2022-04-27 02:48:14
  • Android 开发使用PopupWindow实现弹出警告框的复用类示例

    2022-04-07 03:43:42
  • SpringSecurity权限控制实现原理解析

    2022-04-05 14:46:27
  • java实现简单石头剪刀布小游戏

    2021-09-17 07:25:41
  • 使用Java代码来比较Android客户端版本号

    2021-09-07 17:44:22
  • Android实现悬浮窗体效果

    2023-03-12 01:04:02
  • Java8 stream 中利用 groupingBy 进行多字段分组求和案例

    2023-03-22 00:54:43
  • Spring AOP与AspectJ的对比及应用详解

    2022-07-07 12:50:47
  • c# socket编程udp客户端实现代码分享

    2023-06-16 05:03:31
  • SpringBoot使用Redis实现分布式锁

    2021-11-06 20:10:22
  • JAVA十大排序算法之快速排序详解

    2022-06-08 16:09:11
  • SpringBoot配置拦 截器实现过程详解

    2023-11-24 17:14:58
  • Java Lambda List转Map代码实例

    2022-05-24 20:15:42
  • Java持久层框架MyBatis简单实例

    2023-01-09 08:43:16
  • Android自定义View实现等级滑动条的实例

    2023-12-08 19:57:53
  • WPF换肤设计原理浅析

    2022-11-18 00:37:00
  • Java单例模式实现静态内部类方法示例

    2021-08-03 00:36:51
  • Java实现链表数据结构的方法

    2023-10-19 20:36:57
  • 分析并发编程之LongAdder原理

    2023-05-11 17:19:30
  • asp之家 软件编程 m.aspxhome.com