有关鉴权

今天小编来跟大家分享一下关于鉴权的知识,认真看哦!

1 登录鉴权

使用JWT+RSA加密技术实现了无状态登录。我们单独搭建了一个校验微服务来进行校验,验证用户名和密码的话需要通过feign组件来调用用户微服务来进行查询,另外的话,我们使用JWT+RSA加密生成一个token返回给前台,写到cookie中。
在这里插入图片描述

2.校验登录

在页面created生命周期函数中就调用校验登录的接口,接口与的主要逻辑为:
去redis中验证token是否存在redis中,如果存在说明,此token失效了,返回401
去cookie中的token信息,使用公钥进行解密操作,获取用户信息进行返回
如果前两步正确无误,但是token的有效期小于15分组则进行token的续签操作,
即重新生成一个token,写入cookie中即可

在这里插入图片描述

3.登出操作

把JWT存入黑名单,就是把token放入redis中,设置一个过期时间,(token的
有效剩余时间
删除客户端cookie

在这里插入图片描述

4.网关登录控制

1) 获取用户的登录凭证jwt
2)解析jwt,获取用户身份
① 如果解析失败,证明没有登录,返回401
② 如果解析成功,继续向下
3)根据身份,查询用户权限信息
4)获取当前请求资源(微服务接口路径)
5)判断是否有访问资源的权限

在这里插入图片描述

5.JWT3w1H

学习呢,是一种循序渐进过程,我们要有计划,有目标的去学习。否则吃得苦中苦,方为人下人。

1.what ?

是什么? 首先呢JWT,是json web token 的缩写,是 JSON 风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权,JWT包含三部分数据,①Header头部:声明这是JWT以及选用的签名算法。②patLoad:载荷,就是有效数据,我们存放了jwt的id,用户信息,国企时间。③Signature:签名,是整个数据的认证信息,一般根据前两部的数据,再加上服务的密钥(secret),通过加密算法生成,用于验证整个数据完整和可靠性。

2.way ?

为什么?我们使用的springCloud搭建的微服务架构,想使用JWT来做无状态登录,使用JWT+RSA加密算法来生成token,客户端保存token信息,服务器不再保存用户登录状态

3.where ?

在哪用?一般呢我们用于授权和身份认证

4.how ?

在这里插入图片描述

怎么用?
引入maven的依赖
创建一个JWT的工具类
①使用私钥加密token
②公钥解密token
③获取token中的User信息
④获取token中的荷载信息

6.RSA的3W1H

1. what ?

是什么?1977年,三位数学家 Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密,这种算法用他们三个的名字缩写,RSA 。是一种非对称的加密算法

2. why ?

为什么?加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文) 译成代码形式(又称密文),其逆过程就是解码(解密),加密技术的要点是加密算法,用 RSA 的目的就是对数据进行加密,防止信息泄露。

3. where ?

在哪用?用于对不能明文传输或者明文保存的信息进行加解密。

4. how ?

怎么用?基本原理:同时生成两把密钥:公钥和私钥,私钥隐秘保存,公钥可以发给信任客户端
私钥加密,持有私钥或公钥才可以解密
公钥加密,持有私钥才可以解密

7.cookie被禁用的解决方案

1.在URL后面手动拼接sessionid
经常被使用一种技术焦作URL重写,就是把sessionid直接附加在URL路径的后面,还有一种技术
叫作表单隐藏字段,就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把
sessionid传递回服务器
2.使用响应对象HttpServletRequest中的encodeURL((String path)方法实现jsessionid的自动拼接

8.如何解决cookie被盗用问题?

答:cookie被盗用的可能性主要包括下面几种:
XSS攻击:这个可以再前端页面渲染时对 数据做安全处理即可,而且我们的cookie使用了Httponly
为true,可以防止JS脚本的攻击。
CSRF攻击:
我们严格遵循了Rest风格,CSRF只能发起Get请求,不会对服务端造成损失,可以有效防止
CSRF攻击
利用Referer头,防盗链
抓包,获取用户cookie:我们采用了HTTPS协议通信,无法获取请求的任何数据
请求重放攻击:对于普通用户的请求没有对请求重放做防御,而是对部分业务做好了幂等处理。运
行管理系统中会对token添加随机码,认证token一次有效,来预防请求重放攻击。
用户电脑中毒:这个无法防范。控制自己

好啦,今天小编就分享到这里,大家辛苦一天了,早点休息。
记得一键三连哦!😘😘😘

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值