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:以上组件的公共封装。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多线程学习记录

进程是一个个应用程序,线程则可以理解为一个应用进程中的多个功能。有了多线程,便可以让程序同时去做多件事情。 并发:在同一时刻,有多个指令在单个CPU上交替执行 并行:在同一时刻,有多个指令在多个CPU上同时执行 多线程实现 在J…

K8s: 关于Kubernetes中的Pod的创建,实现原理,Job调度pod以及pod网络

Pod 概述 Pod 是最小部署的单元,Pod里面是由一个或多个容器组成,也就是一组容器的集合一个pod中的容器是共享网络命名空间,每个Pod包含一个或多个紧密相关的用户业务容器Pod 是 k8s 系统中可以创建和管理的最小单元是资源对象模型中由用户创…

winform入门篇 第14章 列表控件

列表控件 列表控件 ListView相当于 ListBox的增强版,支持多列显示 最典型的例子:Windows的文件管理器的列表显示 列表控件的几种视图: Detail:详情模式 List: 列表模式 LargeIcon:大图标模式 Smallcon:小图标模式 列表控件的几个特点: 显示模式可以切换 可以…

java高校办公室行政事务管理系统设计与实现(springboot+mysql源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的闲一品交易平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于mvc的高校办公室行政…

excel导出并合并

普通导出数据 需求 需要将相同列数据合并 效果图: 代码: package cn.silence.test;import lombok.AllArgsConstructor; import lombok.Data;/*** 班级信息*/ Data AllArgsConstructor public class ClassInfo {/*** 学院*/private String academy;/**…

OpenHarmony多媒体-ijkplayer

简介 ijkplayer是OpenHarmony环境下可用的一款基于FFmpeg的视频播放器。 演示 编译运行 1、通过IDE工具下载依赖SDK,Tools->SDK Manager->OpenHarmony SDK 把native选项勾上下载,API版本>9 2、开发板选择RK3568,ROM下载地址. 选择…

直流无刷散热风扇的知识原理与内部构成

①直流无刷风扇的结构:主要可分为转子、定子、外框、电机(马达)这四个主要部分以及一些其它的零碎的部件 第一,风扇转子部分: 包括风扇扇叶,是产生空气流动的核心、散热风扇的轴心,用来支撑平衡扇叶滚动、转子磁环,永…

Python路面车道线识别偏离预警

程序示例精选 Python路面车道线识别偏离预警 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python路面车道线识别偏离预警》编写代码,代码整洁,规则,易…

Spring Boot + 事务钩子函数,打造高效支付系统!

今天,我继续安利一个独门绝技:Spring 事务的钩子函数。 单纯的讲技术可能比较枯燥乏味。 接下来,我将以一个实际的案例来描述Spring事务钩子函数的正确使用姿势。 一、案例背景 拿支付系统相关的业务来举例。在支付系统中,我们…

Nodejs 第六十四章(SSO单点登录)

单点登录 单点登录(Single Sign-On,简称SSO)是一种身份认证和访问控制的机制,允许用户使用一组凭据(如用户名和密码)登录到多个应用程序或系统,而无需为每个应用程序单独提供凭据 SSO的主要优…

openGauss学习笔记-266 openGauss性能调优-TPCC性能调优测试指导-文件系统配置

文章目录 openGauss学习笔记-266 openGauss性能调优-TPCC性能调优测试指导-文件系统配置266.1 查看当前数据盘的文件系统类型266.2 对于需要修改的磁盘,备份所需的数据至其他磁盘或其他服务器266.3 格式化磁盘为xfs文件系统266.4 执行**步骤一** openGauss学习笔记-…

【Keil MDK5新建工程】STM32F103C8T6

一、参数及片上外设 二、系统结构及引脚定义 三、工程架构及新建工程步骤 四、GPIO模式 一、参数及片上外设 二、系统结构及引脚定义 三、工程架构及新建工程步骤 建立工程文件夹,Keil中新建工程,选择型号 工程文件夹里建立Core、Library、User等文件夹…

2024年华中杯数学建模竞赛ABC题思路分析

简单分析一下各个题目可能需要用到的方法和模型,完整代码和成品论文见文末 A题 太阳能路灯光伏板的朝向设计问题: 1. 球面几何、天文学相关知识,如赤纬角、太阳高度角、时角等概念和公式 2. 太阳辐射模型,根据太阳能辐射强度、大气衰减系数等计算地表太阳辐射强度…

绝对隔离+底层限制,成就猎鹰蜜罐“牢不可破”的立体化安全

前言 自网络诞生以来,攻击威胁事件层出不穷,网络攻防对抗已成为信息时代背景下的无硝烟战争。然而,传统的网络防御技术如防火墙、入侵检测技术等都是一种敌暗我明的被动防御,难以有效应对攻击者随时随地发起的无处不在的攻击和威胁…

【学习笔记】Vue3源码解析:第五部分 - 实现渲染(1)

课程地址:【已完结】全网最详细Vue3源码解析!(一行行带你手写Vue3源码) 第五部分-:(对应课程的第29-32节) 第29节:《实现渲染的createRender方法》 1、通过createApp()方法得到一个…

AI热潮下,公链基础设施赛道都有哪些变化?

最近在一级市场,最火热的赛道无疑是AI,其次是BTC,每天聊的项目80%都集中在这两个赛道,我个人最多的时候一天可以聊5,6个AI项目。 可以预见的是AI泡沫会在明后年达到顶峰,随着数以百计的AI新项目上线&#…

QT实现客户端断开连接

Widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), socket(new QTcpSocket(this)) {ui->setupUi(this);//初始化界面ui->msgEdit->setEnabled(false); //不可用ui-…

SQL Server Management Studio 显示行号

前言 在使用 SQL Server Management Studio (SSMS) 进行数据库管理和查询时,能够看到代码的行号是非常有用的。这可以帮助您更容易地定位代码错误、讨论特定的代码行,或者在执行长查询时快速找到特定行。在本文中,我将向您展示如何在 SSMS 中…

AIDE:自动驾驶目标检测的自动数据引擎

AIDE:自动驾驶目标检测的自动数据引擎 摘要IntroductionRelated WorksMethodData FeederModel Updater4 Experiments 摘要 自动驾驶车辆(AV)系统依赖于健壮的感知模型作为安全保证的基石。然而,道路上遇到的物体表现出长尾分布&a…

图像生成模型浅析(Stable Diffusion、DALL-E、Imagen)

目录 前言1. 速览图像生成模型1.1 VAE1.2 Flow-based Model1.3 Diffusion Model1.4 GAN1.5 对比速览 2. Diffusion Model3. Stable Diffusion3.1 Text Encoder3.2 Decoder3.3 Generation Model 总结参考 前言 简单学习下图像生成模型的相关知识🤗 以下内容来自于李宏…