安全相关的代码和业务逻辑相关的代码实际上是在一个应用里面的,在这个应用里面,我们需要去,这个应用本身的处理逻辑里面需要去处理令牌和用户信息之间的转换。 然后我们需要去知道认证服务器的地址,这些都是耦合。 虽然我们把server.resource这里面的代码提炼成一个公用的jar包 ...
限流,有个现成的开源项目可以帮助我们来做网关上的限流 用最新的这个版本 在pom.xml加入引用。 在限流的过程中需要存一些信息,可以存在数据库里 也可以存在redis里。这里我们演示存到数据库里 比如说配置 分钟内只能有 个请求。那么当前已经有多少个请求过去了 ,这个是需要记下来的,下一个请求来了 ,把保存的信息再拿出来,然后再去看当前这个请求能不能过。所以需要有存储。在生产上还是用redis。 ...
2019-11-28 13:02 0 306 推荐指数:
安全相关的代码和业务逻辑相关的代码实际上是在一个应用里面的,在这个应用里面,我们需要去,这个应用本身的处理逻辑里面需要去处理令牌和用户信息之间的转换。 然后我们需要去知道认证服务器的地址,这些都是耦合。 虽然我们把server.resource这里面的代码提炼成一个公用的jar包 ...
把在微服务里面写的安全的相关逻辑挪到网关里面来。这样把安全逻辑和业务逻辑解耦开。那么这些问题就都解决了。 先来看下之前的安全的代码,首先在之类做了认证,认证服务器去认证,拿这个token去换用户信息。 认证完成后,又在这里做了个简单的授权,盘点当前的用户是不是有读权限和 写权限。 在这里 ...
上一篇通过网关, 解决了 问题1:微服务场景下,客户端访问服务的复杂性未解决 问题2:安全逻辑和业务逻辑的耦合;问题3:微服务过多对认证服务器的压力增大 本篇将微服务里的安全相关的逻辑挪到网关上来,这样就能解决这两个问题。 在之前的订单服务里(资源服务器),主要做了两件事 ...
到目前为止已经实现了一个基于OAuth2的认证和授权的流程(如下图),订单还是一个单一的节点,还没有进入到微服务的环境下。 实际场景下,类似订单服务的服务,可能有几十个,每个服务是一个集群,有几十个节点,如下图, 在这种场景下,当前微服务架构下的问题: 问题 ...
第四章 网关安全 这一章从简单的API的场景过渡到复杂的微服务的场景 4.1 概述 微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战 OAuth2协议与微服务安全:介绍OAuth2中的各个角色,以及相互之间 ...
本篇讲网关上的限流 用开源项目spring-cloud-zuul-ratelimit 做网关上的限流 (项目github:https://github.com/marcosbarbero/ ) 1,在网关项目里,引入限流组件的maven依赖: 2,在网关项目yml配置 ...
开发环境: JDK :1.8 IDE : idea 数据库:mysql 5.6.5 框架:springboot,mybatisplus PGA:(后边用到再安装) Promethus (普罗米修斯 一个系统和服务监视 ...
第1章 课程导学我们会对整个课程的内容做一个简要的介绍,包括章节的安排,使用的主要技术栈,实战案例的介绍以及前置知识的介绍等内容。第2章 环境搭建开发工具的介绍及安装,介绍项目代码结构并搭建,基本的依赖和参数设置。第3章 API安全我们从简单的API场景入手,讲述API安全相关的知识 ...