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

做网站ppt企业网站怎么优化

做网站ppt,企业网站怎么优化,上海网站建设最好的公司,网站建设招标方案模板需求:对于本次请求的cookie中,如果userType不是vip的身份,不予访问 思路:因为要按照cookie参数进行判断,所以根据官方自带的CookieRoutePredicateFactory进行改造 创建自己的断言类,命名必须符合 xxxRout…

需求:对于本次请求的cookie中,如果userType不是vip的身份,不予访问

思路:因为要按照cookie参数进行判断,所以根据官方自带的CookieRoutePredicateFactory进行改造

  1. 创建自己的断言类,命名必须符合 xxxRoutePredicateFactory 的规范,其中xxx就是配置文件中 predicates 中的key,我的类名是MyRoutePredicateFactory ,所以配置文件中配置的就是 My ,下面图中会标示
  2. 继承统一的抽象类 AbstractRoutePredicateFactory
  3. 完善断言类型(我使用的是官方也使用的短配置 shortcutFieldOrder )、构造方法以及断言逻辑方法 apply
  4. 定义自己的内部配置类 Config ,其中的 nameregexp 就是断言的属性和值(或者正则,本次只判断值是否相等),需注意这里就不敢直接自动生成set和get方法了,因为官方要求的是Config中的属性所使用的set方法必须返回本Config对象,如图:
    在这里插入图片描述

代码如下:

import jakarta.validation.constraints.NotEmpty;
import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
import org.springframework.http.HttpCookie;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.server.ServerWebExchange;import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.function.Predicate;/*** 对于请求的cookie中,如果userType不是vip,不予访问*/
@Component
public class MyRoutePredicateFactory extends AbstractRoutePredicateFactory<MyRoutePredicateFactory.Config> {//采用短配置,另外还有一种长展开配置很繁琐public List<String> shortcutFieldOrder() {return Arrays.asList("name", "regexp");}//构造public MyRoutePredicateFactory(){super(MyRoutePredicateFactory.Config.class);}//断言逻辑 public Predicate<ServerWebExchange> apply(MyRoutePredicateFactory.Config config) {return new GatewayPredicate() {public boolean test(ServerWebExchange exchange) {List<HttpCookie> cookies = (List)exchange.getRequest().getCookies().get(config.name);if (cookies == null) {return false;} else {Iterator cookieIterator = cookies.iterator();HttpCookie cookie;do {if (!cookieIterator.hasNext()) {return false;}cookie = (HttpCookie)cookieIterator.next();} while(!config.regexp.equals(cookie.getValue()));return true;}}public Object getConfig() {return config;}public String toString() {return String.format("Cookie: name=%s regexp=%s", config.name, config.regexp);}};}//配置内部类@Validatedpublic static class Config {@NotEmptyprivate String name;@NotEmptyprivate String regexp;public Config() {}public String getName() {return this.name;}public MyRoutePredicateFactory.Config setName(String name) {this.name = name;return this;}public String getRegexp() {return regexp;}public MyRoutePredicateFactory.Config setRegexp(String regexp) {this.regexp = regexp;return this;}}
}

配置文件如图:

在这里插入图片描述

配置代码:

spring:application:name: cloud-gateway #以微服务注册进consulcloud:consul: #配置consul地址host: localhostport: 8500discovery:prefer-ip-address: trueservice-name: ${spring.application.name}gateway:routes:- id: pay_routh1uri: lb://cloud-payment-servicepredicates:- My=userType,VIP

效果:

· cookie中userType不是VIP时,请求不受理:

在这里插入图片描述

· cookie中userType是VIP时,正常查询:

在这里插入图片描述

http://www.wangmingla.cn/news/70063.html

相关文章:

  • 网站建设职业情况电脑培训班价目表
  • 南山网站多少钱百度指数入口
  • 网站开发成功案例推广软件
  • 网站的在线支付模块怎么做陕西网站建设制作
  • 百度网站大全网站分析报告范文
  • 建行深圳网站阿里云模板建站
  • 经营网站icp备案要求论坛软文案例
  • 百度推广做的网站可以用吗东莞关键词排名快速优化
  • 中宁企业网络推广联系人网站排名优化怎样做
  • 网站开发外文翻译网站推广途径和推广要点有哪些?
  • 中国疫苗接种率网站优化软件
  • 中国十大公司天津百度快照优化公司
  • 美的公司网站建设的目的网络营销推广专员
  • 做男装海报的素材网站品牌型网站制作价格
  • 工程软件开发无锡百度快速优化排名
  • 网站设计网络公司seo和sem推广
  • 网站域名的后缀网络营销课程大概学什么内容
  • 传媒公司的经营范围有哪些优化排名推广教程网站
  • 做视频分享网站seo是搜索引擎吗
  • 长春企业建站平台网站搜索引擎优化方案
  • 美心西饼在哪个网站做问卷调查推广营销方案
  • 建行业网站的必要性最火网站排名
  • 怎么用wordpress建站营销型企业网站案例
  • 石家庄做网站哪家好百度榜单
  • 网站策划应该怎么做什么是sem推广
  • 遵义市网站建设公司网站设计费用
  • 做网站系统的答辩ppt范文网站设计公司模板
  • 策划 网站seo关键词优化价格
  • 免备案空间网站备案高手优化网站
  • mip网站怎么做匹配站长工具whois查询