当前位置: 首页 > news >正文

浙江金圣建设有限公司网站免费 网站源码

浙江金圣建设有限公司网站,免费 网站源码,如何创建自己的邮箱,广州网站开发 细致广州亦客网络统一网关Gateway 8.统一网关Gatewaya.搭建网关服务b.路由断言工厂c.路由过滤器GatewayFilterd.全局过滤器GlobalFiltere.过滤器的执行顺序f.网关的cors跨域配置 8.统一网关Gateway 网关功能#xff1a; 身份认证和权限校验服务路由、负载均衡请求限流 网关的技术实现 在Spr… 统一网关Gateway 8.统一网关Gatewaya.搭建网关服务b.路由断言工厂c.路由过滤器GatewayFilterd.全局过滤器GlobalFiltere.过滤器的执行顺序f.网关的cors跨域配置 8.统一网关Gateway 网关功能 身份认证和权限校验服务路由、负载均衡请求限流 网关的技术实现 在SpringCloud中网关的实现包括两种 gatewayzuul Zuul是基于Servlet的实现属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux属于响应式编程的实现具备更好的性能。 a.搭建网关服务 搭建网关服务的步骤 1.创建新的module引入SpringCloudGateway的依赖和nacos的服务发现依赖 !--nacos服务注册发现依赖-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency !--网关gateway依赖-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId /dependency2.编写路由配置及nacos地址在application.yml中编写 server:port: 10010 spring:application:name: gatewaycloud:nacos:server-addr: localhost:8848 # nacos地址gateway:routes:- id: user-service # 路由标识必须唯一uri: lb://userservice # 路由的目标地址predicates: # 路由断言判断请求是否符合规则- Path/user/** # 路径断言判断路径是否是以/user开头如果是则符合- id: order-serviceuri: lb://orderservicepredicates:- Path/order/**b.路由断言工厂 网关路由可以配置的内容包括 路由id路由唯一标示uri路由目的地支持lb和http两种predicates路由断言判断请求是否符合要求符合则转发到路由目的地filters路由过滤器处理请求或响应 路由断言工厂Route Predicate Factory 我们在配置文件中写的断言规则只是字符串这些字符串会被Predicate Factory读取并处理转变为路由判断的条件例如Path/user/**是按照路径匹配这个规则是由org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory类来处理的像这样的断言工厂在SpringCloudGateway还有十几个 PredicateFactory的作用是什么 读取用户定义的断言条件对请求做出判断 Path/user/**是什么含义 路径是以/user开头的就认为是符合的 c.路由过滤器GatewayFilter GatewayFilter是网关中提供的一种过滤器可以对进入网关的请求和微服务返回的响应做处理 案例给所有进入userservice的请求添加一个请求头 给所有进入userservice的请求添加一个请求头TruthABCDEFGHIJKLMN 实现方式在gateway中修改application.yml文件给userservice的路由添加过滤器 spring:cloud:gateway:routes:- id: user-service uri: lb://userservicepredicates: - Path/user/**filters: # 过滤器- AddRequestHeaderTruth, ABCDEFGHIJKLMN # 添加请求头默认过滤器 如果要对所有的路由都生效则可以将过滤器工厂写到default下。格式如下 spring:cloud:gateway:routes:- id: user-service uri: lb://userservice predicates:- Path/user/**- id: order-serviceuri: lb://orderservicepredicates:- Path/order/**- Before2031-01-20T17:42:47.789-07:00[Asia/Shanghai]default-filters: # 默认过滤器会对所有的路由请求都生效- AddRequestHeaderTruth, ABCDEFGHIJKLMN # 添加请求头需要在相应的Controller中获取请求头的参数与打印 过滤器的作用是什么 对路由的请求或响应做加工处理比如添加请求头配置在路由下的过滤器只对当前路由的请求生效 defaultFilters的作用是什么 对所有路由都生效的过滤器 d.全局过滤器GlobalFilter 全局过滤器的作用也是处理一切进入网关的请求和微服务响应与GatewayFilter的作用一样。 区别在于GatewayFilter通过配置定义处理逻辑是固定的。而GlobalFilter的逻辑需要自己写代码实现。 案例定义全局过滤器拦截并判断用户身份 需求定义全局过滤器拦截请求判断请求的参数是否满足下面条件 参数中是否有authorizationauthorization参数值是否为admin 如果同时满足则放行否则拦截 创建AuthorizeFilter方法实现GlobalFilter接口 添加Order注解或实现Ordered接口 Order(-1) Component public class AuthorizeFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 1.获取请求参数ServerHttpRequest request exchange.getRequest();MultiValueMapString, String params request.getQueryParams();// 2.获取参数中的 authorization 参数String auth params.getFirst(authorization);// 3.判断参数值是否等于 adminif (admin.equals(auth)){// 4.是放行return chain.filter(exchange);}// 5.否拦截// 5.1.设置状态码exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);// 5.2.拦截请求return exchange.getResponse().setComplete();} }e.过滤器的执行顺序 请求进入网关会碰到三类过滤器当前路由的过滤器、DefaultFilter、GlobalFilter 请求路由后会将当前路由过滤器和DefaultFilter、GlobalFilter合并到一个过滤器链集合中排序后依次执行每个过滤器 每一个过滤器都必须指定一个int类型的order值order值越小优先级越高执行顺序越靠前。GlobalFilter通过实现Ordered接口或者添加Order注解来指定order值由我们自己指定路由过滤器和defaultFilter的order由Spring指定默认是按照声明顺序从1递增。当过滤器的order值一样时会按照 defaultFilter 路由过滤器 GlobalFilter的顺序执行。 f.网关的cors跨域配置 跨域问题处理 跨域域名不一致就是跨域主要包括 域名不同 www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com域名相同端口不同localhost:8080和localhost8081 跨域问题浏览器禁止请求的发起者与服务端发生跨域ajax请求请求被浏览器拦截的问题 解决方案CORS 网关处理跨域采用的同样是CORS方案并且只需要简单配置即可实现 spring:cloud:gateway:globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:[/**]:allowedOrigins: # 允许哪些网站的跨域请求- http://localhost:8090- http://www.leyou.comallowedMethods: # 允许的跨域ajax的请求方式- GET- POST- DELETE- PUT- OPTIONSallowedHeaders: * # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期
http://www.ho-use.cn/article/10821403.html

相关文章:

  • 内网网站建设汇报短视频运营培训学费多少
  • 宁波网站建设与推广方案苏州市住房和城乡建设局政务网站
  • 护卫神做的网站访问成全视频免费观看在线看第6季动漫
  • wordpress 微信登录插件下载失败廊坊关键词seo排名方案
  • phpcms v9网站地图深圳网站建设首选
  • 手表网站 二手西宁网站设计制作公司
  • 自己怎么做系统网站网店html模板
  • 如何登录网站服务器网站开发 名片
  • 桂林建设网站如何提升网站打开速度
  • 网站建设行内资讯两新支部网站建设
  • 网站开发和程序开发的却别网站域名解析ip地址
  • 去哪找做塑料的网站安卓盒子做网站
  • 湖北建设网站四库一平台什么做书籍的网站
  • 注册做网站的营业执照网页设计培训
  • 物流网站免费模板怎样做水果外卖加盟网站
  • 辽宁企业网站建设wordpress child主题怎么用
  • 国外 做励志视频的网站网站定制设计网页价格多少钱
  • 相机拍照的图片怎么做网站呀中职网页设计与制作教材
  • 深圳网站设计 工作室2017网站开发兼职
  • 手机可以做3d动漫视频网站做彩铃的网站
  • 软件开发语言深圳推广软件十年乐云seo
  • 网站建设基础书籍狼雨seo培训
  • 网站系统改教程嘉定网站开发
  • 一站式服务平台登录武威做网站
  • 四川交投建设招标网站廊坊seo排名收费
  • 网站建设 今晟网络为什么wordpress模板
  • 城北区工程建设信息网站宜春企业网站的建设
  • 商城网站建设注意什么网站的外链
  • wordpress divi桂林seo公司
  • 福建省建设网站wordpress首页图标