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.mzph.cn/news/816886.shtml

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

相关文章

Thingsboard PE 白标的使用

只有专业版支持白标功能。 使用 ThingsBoard Cloud 或安装您自己的平台实例。 一、介绍 ThingsBoard Web 界面提供了简便的操作,让您能够轻松配置您的公司或产品标识和配色方案,无需进行编码工作或重新启动服务。 系统管理员、租户和客户管理员可以根据需要自定义配色方案、…

精通技术写作:如何写出高质量技术文章?

CSDN 的朋友你们好,我是未来,今天给大家带来专栏【程序员博主教程(完全指南)】的第 7 篇文章“如何撰写高质量技术文章”。本文深入探讨了如何写好一篇技术文章。文章给出了好的技术文章的定义和分析,并提供了从选题、…

Day103:漏洞发现-漏扫项目篇Poc开发Rule语法反链判断不回显检测Yaml生成

目录 Xray&Afrog-Poc开发-环境配置&编写流程 Xray-Poc开发-数据回显&RCE不回显&实验室 Afrog-Poc开发-数据回显&RCE不回显&JDNI注入 HTTP/S数据回显Poc开发-CVE-2023-28432 HTTP/S不回显RCE-Poc开发-CVE-2022-30525 HTTP/S不回显JNDI-Poc开发 知…

Upload-labs(Pass-14 - Pass-16)

Pass-14 (图片马,判断文件类型) 图片的格式在防护中通常是不会使用后缀进行判断的依据,文件头是文件开头的一段二进制码,不同类型的图片也就会有不同的二进制头。   JPEG (jpg),文件头:FF D…

便携式污水采样器的工作环境要求

便携式污水采样器的工作环境要求极为严格,以确保其能够准确、稳定地采集和分析水样。首先,该采样器必须在干燥、通风良好的环境中工作,以避免潮湿和高温对其内部电子元件的损害。同时,为了保证采样器的稳定性和精度,工…

【数据结构(六)】队列

❣博主主页: 33的博客❣ ▶️文章专栏分类:数据结构◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你学更多数据结构知识 目录 1.前言2.概念3.队列的使用4.循环队列5.双端队列6.经典习题6.1队列实现栈6.2栈实现队…

一款挺不错网站维护页面HTML源码

一款挺不错网站维护页面源码,单HTML不需要数据库,上传到你的虚拟机就可以用做维护页面还不错,用处多。。 源码下载 一款挺不错网站维护页面源码

LangChain LangServe 学习笔记

LangChain LangServe 学习笔记 0. 引言1. LangServe 概述2. 特性3. 限制4. 安装5. 示例应用程序6. OpenAPI文档7. Python SDK 客户端8. Playground9. 聊天可运行页面 0. 引言 使用 LangServe 可以立即将您的LLM应用程序变成 API 服务器。 LangServe 使用 FastAPI 构建&#x…

three.js(1):three.js简介

1 什么是three.js three.js,一个WebGL引擎,基于JavaScript,可直接运行GPU驱动游戏与图形驱动应用于浏览器。其库提供的特性与API以绘制3D场景于浏览器。 2 下载地址 three.js下载地址:https://github.com/mrdoob/three.js 3 目录介绍 下载…

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题5

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题5 第一阶段竞赛项目试题 本文件为信息安全管理与评估项目竞赛-第一阶段试题,第一阶段内容包括:网络平台搭建与设备安全防护。 本次比赛时间为180分钟。 介绍 竞赛阶段…

浅谈函数 fscanf/sscanf 和 fprintf/sprintf

目录 一,fprintf 的介绍和使用1. 函数介绍2. 函数使用 二,fscanf 的介绍和使用1. 函数介绍2. 函数使用 三,sprintf 的介绍和使用1. 函数介绍2. 函数使用 四,sscanf 的介绍和使用1,函数介绍2,函数使用 五&am…

SSL Pinning之双向认证

双向认证处理流程 概述获取证书逆向app 获取证书的KeyStore的 key通过jadx 反编译 app 获取证书:frida hook 证书转换命令行转换portecle 工具使用 charles 配置 p12 格式证书 概述 本篇只介绍怎么解决ssl pinning, 不讲ssl/tls 原理。 为了解决ssl pinn…

RT-Thread 多级目录 scons 构建

前言 RT-Thread 默认使用 scons 进行工程的构建,虽然 RT-Thread BSP 中的 hello world 例程比较简单,实际项目开发,可能源码的工程会由多级目录,如何让多级的目录参与构建? scons 构建时,除了依赖工程的根…

基于R语言实现的beta二项回归模型【理解与实现】

本实验,创建一组使用二项分布模拟的数据(不带额外的随机性),和另一组使用Beta二项分布模拟的数据(引入了随机成功概率 p,从而增加了数据的离散性。 现在假设我们站在上帝视角,有两组不知道分布…

Qt 中默认代码

目录 主函数 widget的声明 widget的定义 form file .pro 文件 主函数 #include "widget.h" ​ #include <QApplication> ​ int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 上面就是 Qt 刚创建的一…

机器学习-随机森林温度预测模型优化

文章目录 前言旧模型训练新模型训练参数查看组合参数训练学习模型评估 前言 在机器学习-随机森林算法预测温度一文中&#xff0c;通过增大模型训练数据集和训练特征的方式去优化模型的性能&#xff0c;本文将记录第三方种优化方式&#xff0c;通过调整随机森林创建模型参数的方…

【高阶数据结构】哈希表 {哈希函数和哈希冲突;哈希冲突的解决方案:闭散列,开散列;红黑树结构 VS 哈希结构}

一、哈希表的概念 顺序结构以及平衡树 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系。因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较。顺序查找时间复杂度为O(N)&#xff1b;平衡树中为树的高度&#xff0c;即O(log_2 N)&#xf…

区间比较指令

1&#xff0c;比较值和和区间值比较 2&#xff0c;指令 ZCP K2 K5 C0 Y000 3&#xff0c;当比较值小于 区间返回 软元件灯亮 当比较直在区间内软元件1 接通 > 第一个 < 第二个 大于第二个值 软元件2接通 如果区间中第二个值大于第一个值那个只比较第一个值 直接比较 参数…

【HTML】制作一个简单的实时字体时钟

目录 前言 HTML部分 CSS部分 JS部分 效果图 总结 前言 无需多言&#xff0c;本文将详细介绍一段HTML代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建一个文本文档&#xff0c;两个文件夹&#xff0c;其中HTML的文件名改为[index.html]&am…

202209青少年软件编程(scratch图形化) 等级考试试卷(四级)

第1题&#xff1a;【 单选题】 运行下列程序&#xff0c;说法正确的是&#xff1f;&#xff08;&#xff09; A:列表中的数字全部小于11 B:列表的长度为 10 C:变量i最终值为 20 D:列表中有大于 10 的数字 【正确答案】: D 【试题解析】 : 程序运行后&#xff0c;变量i最…