概要基于上文讲解的spring cloud 授权服务的搭建,本文扩展了spring security 的登陆方式,增加手机验证码登陆、二维码登陆。 主要实现方式为使用自定义filter、 AuthenticationProvider、 AbstractAuthenticationToken 根据不同登陆方式分别处理。 本文相应代码在Github上已更新。 srping security 登陆流程关
转载 2024-04-15 11:47:02
93阅读
虽然完成前面的部分,我们已经可以自己去编写一个比较中规中矩的微服务项目了,但是还有一个问题我们没有解决,登录问题。假如现在要求用户登录之后,才能进行图书的查询、借阅等操作,那么我们又该如何设计这个系统呢?回顾我们之前进行权限校验的原理,服务器是如何判定一个请求是来自哪个用户的呢?首先浏览器会向服务端发送请求,访问我们的网站。服务端收到请求后,会创建一个SESSION ID,并暂时存储在服务端,然后
文章目录快速入门配置详解SpringBoot默认配置文件位置YAML配置格式自定义参数参数引用生成随机数命令行参数多环境配置加载顺序监控与管理初识actuator原生端点应用配置类度量指标类操作控制类 快速入门1.实现RESTful API@RestController public class HelloController{ @RequestMapping("/hello") publi
一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.5 、Spring Cloud 2020 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。架构图 工程结构SpringBlade ├── blade-auth -- 授权服务提供 ├── blade-common -- 常用工具封装包 ├──
转载 2024-05-11 08:36:07
87阅读
首先,我们来看下项目的目录结构,一个没有内容的父级框架,各个微服务作为其的子项目,每个微服务承担相应的功能。 一、建立父结构使用idea或者其他的软件平台新建一个**空的**maven项目,如果在建的过程中出现loading archetype list的等待的话,可以在file->setting->Build, Execution, Deployment->Build Tool
1. 背景知识、需求描述与公共依赖1.1. 背景知识 & 需求描述Spring Cloud 官方文档说了,它是一个完整的微服务体系,用户可以通过使用 Spring Cloud 快速搭建一个自己的微服务系统。那么 Spring Cloud 究竟是如何使用的呢?他到底有哪些组件?spring-cloud-commons组件里面,就有 Spring Cloud 默认提供的所有组件功能的抽象接口,
什么是微服务?"微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应
      之前都是将服务注册到单点的eureka-server上,但是在实际生产系统中是不适用的,因为如果这个节点宕机了的话,就会造成依赖这个服务的整个微服务都会出现故障,所以需要一个高可用的注册中心来弥补这种缺陷。实现思路:  Eureka 通过 “ 伙伴 ” 机制实现高可用 。每一台eureka在配置中都需要指定另一台eureka的地址作为其伙伴,eureka在
Spring Cloud SecuritySpring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是 Spring 生态系统中的一员,因此他伴随着整个 Spring 生态系统不断修正、升级,在 Spring boot 项目中加入 Spring Security 更是十分简单,使用 Spring Security 减少了企业系统
总的需求:   1、使用HttpSessionListener记录在线人数。 2、使用HttpSessionAttributeListener记录登录人数。 3、 将用户踢出系统。     成果展示:   主页登录     登录成功:   显示所有在线用户:若是管理员则 普通用户登录:  
转载 2023-09-25 07:20:10
113阅读
SpringCloud(三)——Eureka组件服务注册中心服务注册中心所谓的服务注册中心就是在整个的微服务架构中单独提取出一个服务,这个服务不完成系统的任何的业务功能,仅仅用来完成对这个微服务系统的服务注册和服务发现,以及对服务健康状态的管理功能。#1.服务注册中心 - 可以对所有的微服务的信息进行存储,如微服务的名称、IP、端口等 - 可以在进行服务的调用通过服务发现查询可用的微服务列表及网络
Gateway入门实践一、什么是GateWay二、GateWay的功能三、为什么选择GateWay四、GateWay的核心概念五、GateWay的的工作流程六、实战案例七、动态路由八、Predicate九、Filter 一、什么是GateWayGateWay是Spring生态系统上构建的API网关服务,基于Spring5,SpringBoot2和Project Reactor等技术。旨在提供一种
转载 2024-05-29 05:59:26
68阅读
Linux是一种开源操作系统,它在全球范围内广泛使用。很多人可能对Linux这个名词不太熟悉,但如果提到红帽(Red Hat),则会让很多人感到熟悉。红帽公司是一家全球领先的Linux解决方案提供商,他们也是Linux在在线用户方面的重要推动者。 在Linux操作系统中,在线用户是一个重要的概念。在线用户指的是当前通过终端或者网络与Linux系统连接的用户。无论是在个人电脑还是在服务器上,在线
原创 2024-01-31 15:42:54
87阅读
应用场景:在某大型互联网公司,有上亿的用户,要统计当前用户在线人数和在线用户id,最快的实现方法是什么?答:一般情况下,我们都使用数据库字段在用户登陆状态发生变更时进行变更,查找在线人数和在线用户id都是用select的方式。但是这种方式在实际中,调取速度非常慢,效率比较低,时效性差。在redis中,我们知道setbit,bitcount等方法,可以直接对二进制位进行存储和变更,以及计数,根据这
Spring Cloud Consul:服务治理与配置中心Consul 简介Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现框 架、具有以下性质:支持服务治理:Consul作为注册中心时,微服务中的应用可以向Consul注册自己,并且可以从Consul获取其他应用信息
转载 2024-09-23 17:16:44
73阅读
1、项目架构的演变过程1)单体应用架构:所有功能都在一个项目中优点:维护部署比较简单,对于小型项目来说,扩展比较简单缺点:项目部署扩展比较复杂,无法水平扩展,如果一个功能模块出现故障,整个项目都无法使用(2)微服务架构:把一个项目拆分成若干工程,而每一个工程都是可以独立运行和部署,物理进行了拆分,而逻辑上还是一个整体。优点:每个项目都可以使用不同的语言开发,也可以有不同的团队开发,对大型项目来说,
 Eureka高可用集群配置 当注册中心扛不住高并发的时候,这时候 要用集群来扛;再新建两个module:springcloud-eureka-2、springcloud-eureka-31.pom.xml 把依赖加下:<dependencies> <dependency> <groupId>org.sprin
Feign 声明性REST客户端Feign是一个声明式的WEB服务客户端。Feign具有可插入注释支持: Feign注释JAX-RS注释可插拔编码器和解码器SpringCloud 集成Ribbon和Eureka以在使用Feign时提供负载均衡的http客户端引入Feign开启Feign客户端注解:@EnableFeignClients开启Feign客户端@Configuration @Co
本文针对 Web 开发中实现服务器往客户端推送消息的关键技术 websocket 进行重点说明,并且基于spring websocket 实现服务器对客户端的广播及点对点推送功能,供大家参考讨论。websocket 说明这里主要参考了: 写得很好,让人能够比较容易的理解 websocket 的原理。如果读完本博客,希望更深入的理解 websocket 建议阅读上述内容。下面主要总结了在实现 we
GatewayFilter 自定义全局过滤器内置的过滤器已经可以完成大部分的功能,但是对于企业开发的一些业务功能处理,还是需要我们自己编写过滤器来实现的,那么我们一起通过代码的形式自定义一个过滤器,去完成统一的权限校验。 开发中的鉴权逻辑:当客户端第一次请求服务时,服务端对用户进行信息认证(登录)认证通过,将用户信息进行加密形成token,返回给客户端,作为登录凭证以后每次请求,客户端都携带认证的
  • 1
  • 2
  • 3
  • 4
  • 5