首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
随笔-解决登录校验问题
返回列表
发新帖
随笔-解决登录校验问题
[复制链接]
发表于 2023-7-16 13:33:54
|
显示全部楼层
|
阅读模式
问题:在退出登录后(广义场景)在未重新登录的情况下仍能进入界面,用户数据保密问题没有解决。
分析问题:需要进行登录校验(即当服务端接收到请求后,首先要将请求进行校验,如果已经登录,则正常访问,没有则返回错误结果)
如何实现(会话技术,统一拦截技术):1.在登录成功后将登录成功的信息在一个地方储存起来。
2.在
服务器
发起请求后,拦截所有发起的请求,并和之前的的登录成功的信息进行比对。如果成功则继续访问,失败则不允许访问。
会话技术详解:会话指的就是浏览器与
服务器
之间的一次连接,我们就称为一次会话。在浏览器和
服务器
都没有关闭的情况下,无论其中有多少请求和相应,都算是一次会话。
会话跟踪技术:
https://www.cnblogs.com/zwscode/p/14284071.html
。
两种技术的优缺点:
优点:HTTP协议中支持的技术(像Set-Cookie 响应头的解析以及 Cookie 请求头数据的携带,都是浏览器自动进行的,是无需我们手动操作的)
缺点:
移动端APP(Android、IOS)中无法使用Cookie
不
安全
,用户可以自己禁用Cookie
Cookie不能跨域(?)
跨域
协议
IP/协议
端口
只要上述的三个维度有任何一个维度不同,那就是跨域操作
session基于cookie,所以优缺点基本一致,不同为Session是
存储
在服务端的,
安全
,而且无法部署于
负载
均衡服务器(Nginx),因为服务器不同,session无法识别。
现在使用的技术 令牌技术:
每次访问时都会携带一个令牌,如果一致则允许访问,反之则不允许。
缺点:不是HTTP协议支持的技术,校验,传递,生产需要自己实现
优点:
支持PC端、移动端
解决集群环境下的认证问题
减轻服务器的
存储
压力(无需在服务器端
存储
)
JWT令牌技术详解
JWT全称:JSON Web Token,jwt就是将原始的json数据格式进行了
安全
的封装,这样就可以直接基于jwt在通信双方安全的进行信息传输了。
JWT的组成: (JWT令牌由三个部分组成,三个部分之间使用英文的点来分割)
第一部分:Header(头), 记录令牌类型、签名算法等。 例如:
第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。 例如:
第三部分:Signature(签名),防止Token被篡改、确保安全性。将header、payload,并加入指定秘钥,通过指定签名算法计算而来。
签名的目的就是为了防jwt令牌被篡改,而正是因为jwt令牌最后一个部分数字签名的存在,所以整个jwt 令牌是非常安全可靠的。一旦jwt令牌当中任何一个部分、任何一个字符被篡改了,整个令牌在校验的时候都会失败,所以它是非常安全可靠的。
JWT根据base64进行再编码(非
加密
),所以返回一个长字符串。
原理:登录接口被访问后生成一个JWT令牌,在每一次访问是都会携带这个令牌,进入统一拦截后进行校验令牌,通过则继续使用。
使用方法:
1.依赖注入
io.jsonwebtoken jjwt 0.9.12.调用工具类生成(工具类:Jwts.build)
3.解析Jwts.parser()
详细方法可以使用已经调用的工具类
统一拦截技术
过滤器技术和拦截器技术()
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
美食家大橙子
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表