Session 身份验证

摘要:
1.用户向服务器发送用户名和密码。

1 Session 特点:

(1)Session中的数据保存在服务器端; 
(2)Session中可以保存任意类型的数据; 
(2)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间

web.config 配置:

程序webconfig配置:

<system.web>
<sessionState mode="InProc" timeout="180"/>

</system.web>

timeout里面设置的是分钟

Session 身份验证的思路:

 每个客户端请求都会和服务器建立一个会话,会有一个唯一的SessionId, 客户端在收到SessionId之后可以将seesionId保存(比如保存在cookie中),然后每次通过cookie的sessionId去验证。

1、用户向服务器发送用户名和密码。

2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。

3、服务器向用户返回一个 session_id,写入用户的 Cookie。

4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。

5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份

 Session 身份验证第1张

缺点:

时间较短,需要服务器设置,

服务器挂了需要重新登录

Session 身份验证第2张

简单使用:

  public void LoginWithSession()
        {
            Session["User"] = new { Name="hnzheng",Passward="123" };
            Session["UserInfo"] = new { Name = "hnzheng", Passward = "123" };

            //保存session Id
            //Session.SessionID

        }
        //删除全部
        public string RemoveAllSession()
        {
            Session.Abandon();
            return$"sessionId:{Session.SessionID}";
        }
        //删除单个
        public string RemoveSingleSession()
        {
            if(Session["User"]!=null)
            {
                Session["User"] = null;
                Session.Remove("User");
            }
           
            return $"sessionId:{Session.SessionID}";
        }

  

免责声明:文章转载自《Session 身份验证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php计算持续时长(将秒转换成天时秒)mfc学生成绩录入与查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用HQL查询

  HQL是Hibernate Query Language的缩写,语法很想SQL,但是HQL是一种面向对象的查询语言。SQL的操作对象是数据列、表等数据库对象,而HQL操作的是类、实例、属性。   HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按如下步骤进行:   1.获取Hibernate Session对象   2....

Flask-SQLAlchemy操作

Flask-SQLAlchemy SQLAlchemy 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: Engine,框架...

c#web中定义全局变量,传递变量

c# web开发中,定义全局变量是经常用到的.我的做法是 1\在一个webform 中, public static int aaa;  public static string bbb; //最简单的定义全局变量的方法 如果想在各个web form  用到传递 全局变量,则在 类文件中定义变量 public static int  abc; //最简单的...

转载【微信支付】jsapi支付之传参问题(使用微信官方SDK之PHP版本) V3之WxpayPubHelper 亲测有效,V3WxpayAPI_php_v3.zip版未测试,理论上也是一样的。

本文转载至:http://blog.csdn.net/geeklx/article/details/51146151 (微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。) 写在最前面:V3 WxpayPubHelper 亲测有效,最新版本(WxpayAPI_php_v...

express中间件

中间件(Middleware)可以理解为一个对用户请求进行过滤和预处理的东西,它一般不会直接对客户端进行响应,而是将处理之后的结果传递下去。 Express支持的中间件在express官网中可以看出express本身支持若干中间件: basicAuth:基本的身份认证功能,处理之后可以通过req.user属性访问被认证的用户对象 bodyParser:完...

SqlAlchemy

SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,如: 1 MySQL-Python 2...