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

网站制作公司怎么运营程序员培训机构哪家好

网站制作公司怎么运营,程序员培训机构哪家好,wordpress承受访问量,寻找聊城做网站的公司文章目录 授权规则自定义异常结果规则持久化实现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.yidumall.com/news/18572.html

相关文章:

  • 网站切换中英文优化公司治理结构
  • 临海市住房与城乡建设规划局网站成功的营销案例及分析
  • 网站建设推广服务2021最近最火的关键词
  • 电子商务网站建设一般流程现在最好的免费的建站平台
  • wordpress 发布时间不对青岛seo排名扣费
  • 可信赖的邢台做网站高端网站建设公司排名
  • 手机网站建设的方法关键词排名工具有哪些
  • 网站不关站备案网络营销整合推广
  • 日本 女做视频网站app推广有哪些渠道
  • 建筑人才网站app网络推广公司
  • 展示型网站模板源码网络营销品牌有哪些
  • 广州学习做网站建设的学校收录查询工具
  • 青岛专业做外贸网站网站排名软件优化
  • 做问卷的网站有哪些内容郑州搜索引擎优化
  • 各行各业网站建设服务周到全网品牌推广
  • 宝塔怎么安装wordpressseo监控
  • 只有一个页面的网站十大成功营销策划案例
  • 网站推广行业赚钱吗b站推广网站2024年
  • 唯品会 只做特卖的网站深圳博惠seo
  • dede手机网站制作搜索关键词热度
  • 网站推广公司招聘云南新闻最新消息今天
  • 德阳 网站建设今天新闻头条新闻
  • 站群系统程序百度网站管理员工具
  • 襄阳网站制作获客渠道有哪些
  • 做系统那个网站好百度竞价排名公式
  • wordpress大神宁波seo网络推广多少钱
  • 可以做流程图的网站最近的新闻热点
  • 做系统软件的网站网络seo
  • 网站开发需要学习seo交流qq群
  • 国外网站设计师仿站定制模板建站