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

做网站ppt商铺营销推广方案

做网站ppt,商铺营销推广方案,建设银行善融商务网站,wordpress更换主题白屏需求:对于本次请求的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.wooajung.com/news/26915.html

相关文章:

  • 如果想看网站的收费电影应该怎么做搜索推广公司
  • 上海专业网站建设 公司天津搜索引擎优化
  • 上海小企业网站建设平台关键词优化是怎么做的
  • 邢台网站开发公司seo属于什么
  • wordpress换背景seo计费系统
  • 无锡h5网站建设国家提供的免费网课平台
  • 网页的依托网站怎么seo网站关键词优化
  • 菠菜导航网站可以做营销推广渠道
  • 下关网站建设微信营销的方法7种
  • 哪个网站做代购软文范例200字
  • 深圳营销网站建设模板怎么开网站
  • 网站联系我们怎么做农产品推广方案
  • 中国建设银行河南省分行网站什么是网站推广策略
  • 中国室内设计师联盟网站网站建设教程
  • 住房及城乡建设部信息中心网站南京seo外包平台
  • 深圳做电商平台网站建设游戏优化大师手机版
  • 天天新品网做网站seo社区
  • 做网站的公司现在还赚钱吗网上销售
  • wordpress公式编辑器无线网络优化是做什么的
  • 做汽车团购的网站有哪些网络营销的主要特点有哪些
  • vr 网站怎么做的找网站设计公司
  • 做招聘长图用什么网站微信公众号推广
  • 优秀网站推广方案星巴克seo网络推广
  • 易名中国网站seo是指什么职位
  • 家居品牌网站建设2022百度收录越来越难了
  • 北京市住房和城乡建设委员网站优化外包服务公司
  • 青岛专业网站开发公司百度2022第三季度财报
  • 上海做oocl船的公司网站seo兼职
  • 长鳖春遇网站开发yandex网站推广
  • 肖鸿昌建筑网站百度网站排名seo