Session和Token小结

本文详细比较了Token和Session在原理、功能和安全性上的异同,阐述了Session依赖Cookie存储会话信息,而Token通过加密并带有时效性提升安全性。讨论了两者的工作流程,并强调了Token在跨域和跨程序调用中的优势。
摘要由CSDN通过智能技术生成


Token和SessionId的原理是相同的,Session和Token在功能上是相同的,都是为了保持会话。

session
Session用于临时保存用户信息,以键值对的格式储存,要取出用户信息就需要相对应的钥匙key,这是用于让服务器知道这个请求来着谁,通过cookie存放sessionid,服务器获取请求的时候就会通过cookie(sessionid)拿到session里面存放的用户信息,这样可以让用户访问资源而不用不断的重新登录。session的生命周期是服务器启动到服务器关闭。

session大致的工作流程图:

在这里插入图片描述
Token
Token是比Session更加安全的身份验证方式,可以用于跨域跨程序调用,Token的不将用户信息存放在服务器或者session里面,Token的信息是加密的而且有时效性,过来时效就需要重新验证,而且Token是可以跨域和跨程序间使用,实现更加安全的资源共享,相比session,session是直接存放用户信息,这样很容易受到攻击,别人可以伪造信息不断访问不断发送请求,很容易拖垮服务器,并且session在跨域的资源共享不够方便。SecurityContextHolder的功能相当于session,但是不像session那样把整个用户信息存放到里面,SecurityContextHolder只有一个username信息也就是账号,由于这个特性,我们在设计数据库表的时候,表之间的关联关系要更加仔细,在和用户信息表相关联的表中添加上账号字段,使这些表更加方便关联,并且更加安全,因为一个客户端访问服务器的用户只有一个SecurityContextHolder,所以用它来进行根据用户来查询的信息更加安全和方便。

Token大致的工作流程图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值