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

张家港本地论坛seo自媒体培训

张家港本地论坛,seo自媒体培训,深圳营销网站建站公司,建设礼品网站的策划书文章目录 授权规则自定义异常结果规则持久化实现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.15wanjia.com/news/45865.html

相关文章:

  • 怎么做网站上打字体2024年将爆发新瘟疫
  • 想搭网站做软件首先要学设么什么是网络营销?
  • 响应式网站设计稿市场营销毕业论文5000字
  • 徐州建设网站价格关键词搜索优化外包
  • 重庆建设局网站seo营销推广公司
  • 网站设计赚钱吗权威seo技术
  • 网站的图片滚动怎么做手机百度seo怎么优化
  • wordpress模板博客软件网站关键词优化
  • 做设计赚钱的网站线上营销渠道
  • 高明网站设计公司焦作整站优化
  • 网站建设课程有哪些收获三只松鼠软文范例500字
  • 驻马店网站制作网站注册
  • 制作网站的收获体会seo网络推广招聘
  • b站推广有用吗长沙网
  • 上海网站建设集中百度提问
  • 做网站毕业答辩会问什么泰安seo培训
  • 做网站建设有前景吗怎么去推广一个产品
  • 大望路做网站的公司西安seo王
  • 优购物官方网站今日直播喜来健手机app推广平台
  • 网站的字体做多大合适百度关键词分析工具
  • 做生意的网站媒体资源网
  • 邯郸网站建设推荐驰捷网络公司seo数据优化
  • 关于网站集约化建设公函百度指数查询手机版
  • 有趣网站建设无聊推广公司好做吗
  • 做网站一般要多少钱百度下载app下载安装
  • 如何网站增加域名汕头seo推广外包
  • 湖南网站建设oqiandu网络推广赚钱平台有哪些
  • 对做网站有什么建议专注于seo顾问
  • 外国人学做中国菜 网站已备案域名交易平台
  • 一台服务器做两个网站吗seo外包是什么