微服务之间授权

准备第二个资源服务器

集成feign
resource1
导包
开启feign
写接口-》打注解 加上调用的服务名字
拷贝r2的controller方法
在r1controller调用
访问resource 控制层测试
访问报错没有权限
通过feign接口访问r2没有权限
可以在r1添加feign拦截器添加token
但是微服务多了,每一个都要加拦截器
所以新建一个feign拦截器模块
在feign拦截 模块写一个类实现RequestInterceptor
实现apply方法 拦截请求
方法实现逻辑
1获取r1中请求头
使用请求助手方法获取请求上下文
在获取请求头
在去获取token
2把token加到请求头里面
template.head();
谁要使用就让谁依赖feign拦截模块
r1依赖 测试

集成熔断器
会造成的问题:转发失效,会那拿不到token 隔离模式,线程池导致请求头拿不到 把隔离模式改成信号量,
把线程一的token设置到线程二中
开启熔断器 创建托低方法
使用zuul统一鉴权
如果不去做zuul统一鉴权,那么每个微服务都会去集成auth2
并效率要高些,在zuul,发现没有权限直接打回,不用统一鉴权就要请求到微服务去效验更深一些。
zuul配置 导包
配置资源服务
新建一个类
使用jwt存储token
写一个内部类
复写两个方法
配置资源服务安全性配置
配置web安全配置
根据不同的服务配置权限的不同的范围
配置websecurity 因为zuul没有控制成
直接全部放行
跨域配置
通过zuul获取token
在这里插入图片描述
通过zuul访问资源
在这里插入图片描述
zuul解析token后放在security上下文里面
转发用户信息 明文token
定义一个filter
复写三个方法
在run方法里面
使用map把信息封装到map中
权限需要转成list
在资源微服务中:
接收zuul 传过来token的filter定义
不用配置auth2但是要配置security,因为要知道当前用户有什么权限
auth全部放行,不做校验

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜掉在星星上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值