demo(四)nacosgateway(2)gatewayspringsercurity

一、思路

1、整体思路

用户通过客户端访问项目时,前端项目会部署在nginx上,加载静态文件时直接从nginx上返回即可。当用户在客户端操作时,需要调用后端的一些服务接口。这些接口会通过Gateway网关,网关进行一定的处理(jwt合法性校验,黑名单、白名单,过滤一部分请求)之后再转发给具体的微服务。具体的资源服务会对请求进行解析,判断当前登录用户是否有权限调用该资源的接口。

 微服务的认证授权方案,目前大体分为两类:
(1)网关只负责转发请求,认证鉴权交给每个微服务控制
(2)统一在网关层面进行认证鉴权,微服务只负责业务
目前主流采用第二种方案,通过Spring Cloud Gateway + Spring Security + OAuth2 + Jwt整合进行统一认证鉴权,大致流程如下:

2、微服务分解

springcloud+nacos+gateway+feign+oauth2+jwt+sercurity。

(1)nacos作为注册中心和集中配置管理;

(2)多个provider提供数据库服务,多个consumer处理业务逻辑;

(3)采用Spring Security + Oauth2作为安全框架,采用JWT操作令牌;

       所有服务有一个统一的springsercurity鉴权

(4)gateway作为网关。

所有组件之间的接口调用通过feign实现。

二、demo

如现有用户管理、订单管理、公共业务,针对上述架构梳理出以下服务:
1)工程前缀-auth:认证授权服务,负责认证和授权,整合Spring Security + Oauth2 + Jwt;

   进行登录用户的认证授权,返回用户名和token的json数据,权限信息放在token中。

2)工程前缀-gateway:网关服务,负责校验认证和鉴权,对请求进行动态路由、校验认证和鉴权;
3)业务:(以下provider数据库层如果没有其他组件复用可以去掉,直接写在-client中)

 ① 工程前缀-user-client:用户业务微服务,处理业务逻辑,需要鉴权;

   工程前缀-user-provider:用户业务数据库层,处理业务逻辑;

  ② 工程前缀-order-client:订单业务微服务,处理业务逻辑,需要鉴权;

   工程前缀-order-provider:订单业务数据库层,处理业务逻辑;

   ③ 工程前缀-common-client:公共资源微服务,处理业务逻辑,不需要鉴权;

   工程前缀-common-provider:公共资源业务数据库层,处理业务逻辑;

4)工程前缀-api:以上组件的公共封装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620402.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HashMap扩容原理(带源码分析)

HashMap的扩容原理 1.扩容流程图 注:拆分链表的规则 这里拆分链表时的一个比较:e.hash & oldCap 0 意思是:某一个节点的hash值和老数组容量求&运算。如果等于0,当前元素在老数组中的位置就是在新数组中的位置。如果不等…

element-ui中el-radio-group组件绑定点击事件触发多次的解决办法

1、需求 电商首页需求,需要做个单选框,然后点击选中切换图标方向及更换价格升倒序,如下图: 从官网文档看,单选框支持change event,使用click加载按钮处不会触发选中 但是使用 click.native 事件不做处理…

深度学习pytorch实战第P3周--实现天气识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 引言 1.复习上周 深度学习pytorch实战-第…

初识集合框架

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x1f…

贝叶斯公式中的先验概率、后验概率、似然概率

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

mysql的下载、安装

首先进入官网:MySQL 点击“downloads”进入下载界面 2.往下滑动滚轮,点击“mysql community...(公开版)” 3.往下滑,找到并单击“install for Windows” 4.选择版本:初学者可以使用较低版本,较…

API网关工具Kong或nginx ingress实现对客户端IP的白名单限制,提高对外服务的访问安全

一、背景 部署在生产环境的应用,供内部服务调用外,还需要暴露外网访问。 比如consul ui管理界面,我们需要给到开发和测试人员,观察服务的注册情况。 再比如前端页面和后端接口在一起的服务,后端接口供内部服务接口调用…

项目文章 | Nature Commun细菌转录因子ChIP-seq揭示第二信使2‘,3‘-cGMP的新调控机制

转录因子是细菌中调控基因表达的关键蛋白质,它们能够识别并结合到DNA的特定序列上,从而启动或抑制基因的转录。细菌ChIP-seq可以帮助我们理解细菌中转录因子的调控网络,揭示其在细菌生长、代谢和适应环境等方面的作用。这种技术对于研究细菌的…

2024第十五届蓝桥杯 JAVA B组

目录 前言:试题 A: 报数游戏试题 B: 类斐波那契循环数试题C:分布式队列 前言: 没参加这次蓝桥杯算法赛,十四届蓝桥杯被狂虐,对算法又爱又恨,爱我会做的题,痛恨我连题都读不懂的题😭,十四届填空只…

龙蜥社区「人人都可以参与开源」——开源之路心得体会

在龙蜥社区的开源活动中,我深刻体会到了开源精神的伟大与力量。作为一个新手,一开始我对于如何参与开源活动感到有些迷茫,但通过龙蜥社区的引导和帮助,我找到了自己的方向,走上了开源之路。 龙蜥社区的开源活动是真正…

docker run启动一个开发备忘清单速查表 —— 筑梦之路

docker run -itd --name reference -p 3000:3000 registry.cn-beijing.aliyuncs.com/deanmr/reference:latest包含:运维,前端,后端,工具,命令,数据库 部分截图展示:

每天五分钟深度学习:逻辑回归算法的损失函数和代价函数是什么?

本文重点 前面已经学习了逻辑回归的假设函数,训练出模型的关键就是学习出参数w和b,要想学习出这两个参数,此时需要最小化逻辑回归的代价函数才可以训练出w和b。那么本节课我们将学习逻辑回归算法的代价函数是什么? 为什么不能平方差损失函数 线性回归的代价函数我们使用…