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

福州网站设计软件推广普通话手抄报简单

福州网站设计软件,推广普通话手抄报简单,macbook air网站开发,郑州做供暖的公司网站文章目录 授权规则自定义异常结果规则持久化实现Push模式 授权规则 根据来源名称对请求进行拦截 ——>我们需要解析来源名称(RequestOriginParser默认解析都为default),所以我们要自定义一个实现类(根据请求头解析&#xff0c…

文章目录

  • 授权规则
  • 自定义异常结果
  • 规则持久化
  • 实现Push模式

授权规则

根据来源名称对请求进行拦截 ——>我们需要解析来源名称(RequestOriginParser默认解析都为default),所以我们要自定义一个实现类(根据请求头解析,给运行访问的来源+一个请求头

防止绕过,请求我们的服务,对请求来源进行授权
在这里插入图片描述
1.对于我们客户端请求过来的资源,服务需要进行判断是浏览器还是网关

自定义实现RequestOriginParser请求解析器来获取请求的来源

在这里插入图片描述
2.尝试在request请求头中加一个origin请求头,给网关加一个

从网关来的请求就有这个请求头,而从浏览器来的就没有——>以此做一个区分

@Component
public class HeaderOriginParser implements RequestOriginParser {@Overridepublic String parseOrigin(HttpServletRequest httpServletRequest) {
//1.获取请求头String origin = httpServletRequest.getHeader("origin");
//2.进行请求头的非空判断if (StringUtils.isEmpty(origin)) {origin = "blank";}return origin;}
}

3.对请求头进行资源处理后,还需要对gateway网关添加origin请求头中参数值,然后我们要通过网关路由userservice服务时,就会带origin请求头,在资源处理器进行处理时就会放行;

 gateway:routes:- id: user-service # 路由标示,必须唯一uri: lb://userservice # 路由的目标地址predicates: # 路由断言,判断请求是否符合规则- Path=/user/** # 路径断言,判断路径是否以/user开头,如果是则符合,跳转路由- id: order-serviceuri: lb://orderservicepredicates:- Path=/order/**filters: # 过滤器添加一个请求头- AddRequestHeader=Truth,Itcast is freaking aowsome!default-filters: # 对所有路由生效- AddRequestHeader=origin,gateway #添加origin请求头,值为gateway

此时我们localhost:8081/user/1还是能够访问的,还没有配置授权规则

4.最后在Sentinel中配置授权规则只有网关过来才能访问
在这里插入图片描述
5.此时绕过网关访问,会发现被拦截

在这里插入图片描述
6.然后我们通过网关访问,因为在之前的配置类中加入了一个网关请求的过滤器
认证我们的请求加上一个叫authorization且值为admin的参数,否则拦截

过滤器代码

    @Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest request = exchange.getRequest();//1.得到request中的所有参数MultiValueMap<String, String> params = request.getQueryParams();//2.获取里面含有authorization的参数String auth = params.getFirst("authorization");//3.判断参数是否符合:authorization==adminif("admin".equals(auth)){return chain.filter(exchange);}//4.进行拦截,并且设置响应状态码exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);return exchange.getResponse().setComplete();}
}

在这里插入图片描述
总结:授权生效

自定义异常结果

在这里插入图片描述
在这里插入图片描述
自定义异常
在这里插入图片描述
在这里插入图片描述
最重要的两个接口:

RequestOriginParser——>用来解析请求资源的(一般用于授权规则里头)

BlockExceptionHandler——>用来处理异常(根据是限流异常还是热点参数异常还是降级异常。。。设置状态信息)

在这里插入图片描述

规则持久化

场景:当我们的服务重启时,Sentinel会进行重启,服务会丢失

原因:Sentinel的默认模式会将默认的规则放到内存中,所以会丢失

在这里插入图片描述
对Sentinel推送规则进行监听,一旦发现变化,发送数据库(定时)

缺点:时效性较差,因为它是定时将规则保存在数据库中,比如你数据刚保存,然后你立马调用,此时就不会数据保存了;
在这里插入图片描述
将配置规则先推送到配置中心nacos之类的,然后我们的Sentinel客户端监听nacos,配置变更就会完成本地配置更新;——>本质上是利用nacos的监听特质

实现Push模式

在这里插入图片描述
在这里插入图片描述

http://www.ds6.com.cn/news/94827.html

相关文章:

  • 人大网站建设存在问题安卓aso
  • 提供佛山网站制作网站怎么建立
  • 寿光专业做网站镇江网络
  • 网站建设与管理收获推广软件的渠道有哪些
  • 企业网站建设策划网站seo优化多少钱
  • 微站电池网站点击软件排名
  • 德庆网站建设千网推软文推广平台
  • 电子商务 独立网站制作外贸网站大全
  • 筛网怎么做网站舆情通
  • 汕尾网站建设 生意好吗google 谷歌
  • wordpress加载优化班级优化大师简介
  • ecshop商城网站建设新手做销售怎么开发客户
  • 做网站需准备些什么软件最有效的网络推广方式
  • 我局 负责 建设 网站2021年新闻摘抄
  • 武汉建设学院在哪里国内专业的seo机构
  • 转做批发的网站厦门百度竞价推广
  • 泸西网站建设网站模板商城
  • 香港美女做旅游视频网站二级子域名ip地址查询
  • 官方网站作用如何开发网站平台
  • 用ps做班级网站河南专业网站建设
  • dedecms网站tag标签静态化上海优化公司
  • 上海哪里做网站好北京线上教学
  • wordpress搭建相册移动端关键词排名优化
  • 专题网站建设方案网站多久被百度收录
  • 制作ppt的网站windows7系统优化工具
  • 网站是广西住房和城乡建设厅新闻稿件
  • 互联网公司是干啥的seo综合查询什么意思
  • 做网站去哪里找客户小说排行榜2020前十名
  • 厦门市建设区网站百度趋势搜索大数据
  • 网站制作学什么软件新浪nba最新消息