Session
的主要作用就是通过服务端记录用户的状态。 典型的场景是购物车,当你要添加商品到购物车的时候,系
统不知道是哪个用户操作的,因为
HTTP
协议是无状态的。服务端给特定的用户创建特定的
Session
之后就可以标
识这个用户并且跟踪这个用户了。
Cookie
数据保存在客户端
(
浏览器端
)
,
Session
数据保存在服务器端。相对来说
Session
安全性更高。如果使用
Cookie
的一些敏感信息不要写入
Cookie
中,最好能将
Cookie
信息加密然后使用到的时候再去服务器端解密。
那么,如何使用
Session
进行身份验证?
很多时候我们都是通过
SessionID
来实现特定的用户,
SessionID
一般会选择存放在
Redis
中。举个例子:用户成
功登陆系统,然后返回给客户端具有
SessionID
的
Cookie
,当用户向后端发起请求的时候会把
SessionID
带上,
这样后端就知道你的身份状态了。关于这种认证方式更详细的过程如下:
用户向服务器发送用户名和密码用于登陆系统。 服务器验证通过后,服务器为用户创建一个
Session
,并将
Session
信息存储 起来。 服务器向用户返回一个
SessionID
,写入用户的
Cookie
。 当用户保持登录状态时,
Cookie
将与每个后续请求一起被发送出去。 服务器可以将存储在
Cookie
上的
Session ID
与存储在内存中或者数
据库中的
Session
信息进行比较,以验证用户的身份,返回给用户客户端响应信息的时候会附带用户当前的状态。
使用
Session
的时候需要注意下面几个点:
依赖
Session
的关键业务一定要确保客户端开启了
Cookie
。 注意
Session
的过期时间
Cookie与Session区别及Session身份验证

1691

被折叠的 条评论
为什么被折叠?



