From eabb7be5244a40e9b8ef120cda1db6351c8b612c Mon Sep 17 00:00:00 2001 From: zhouyl <583641232@qq.com> Date: Mon, 2 Sep 2024 16:33:34 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=20=20ip=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/interceptor/IpAccessInterceptor.java | 6 ++---- .../functional/service/impl/IpFilterServiceImpl.java | 10 +++++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tp-framework/src/main/java/com/inscloudtech/framework/interceptor/IpAccessInterceptor.java b/tp-framework/src/main/java/com/inscloudtech/framework/interceptor/IpAccessInterceptor.java index e991e25..041bf60 100644 --- a/tp-framework/src/main/java/com/inscloudtech/framework/interceptor/IpAccessInterceptor.java +++ b/tp-framework/src/main/java/com/inscloudtech/framework/interceptor/IpAccessInterceptor.java @@ -5,13 +5,11 @@ import com.inscloudtech.common.utils.ServletUtils; import com.inscloudtech.common.utils.redis.RedisUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.List; +import java.util.Set; /** * ip访问拦截 @@ -23,7 +21,7 @@ public class IpAccessInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String ip = ServletUtils.getClientIP(); - List cacheSet = RedisUtils.getCacheList(Constants.BLACK_IP_LIST); + Set cacheSet = RedisUtils.getCacheSet(Constants.BLACK_IP_LIST); if (cacheSet.contains(ip)) { // 在黑名单中直接拒绝访问 log.info("ip:{} 在黑名单中拒绝访问.....", ip); diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/IpFilterServiceImpl.java b/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/IpFilterServiceImpl.java index 415ec35..faab5ac 100644 --- a/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/IpFilterServiceImpl.java +++ b/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/IpFilterServiceImpl.java @@ -1,6 +1,7 @@ package com.inscloudtech.functional.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.inscloudtech.common.constant.Constants; import com.inscloudtech.common.utils.redis.RedisUtils; @@ -15,6 +16,7 @@ import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * cpu信息 @@ -27,13 +29,15 @@ public class IpFilterServiceImpl extends ServiceImpl i @PostConstruct void init(){ - RedisUtils.setCacheList(Constants.BLACK_IP_LIST,this.list()); - System.out.println("初始化ip白名单"); + List list = this.list(); + Set collect = list.stream().filter(item -> StrUtil.isNotEmpty(item.getIp())) + .map(IpFilter::getIp).collect(Collectors.toSet()); + RedisUtils.setCacheSet(Constants.BLACK_IP_LIST, collect); } @Override public void updateBlackIpList(){ - RedisUtils.setCacheList(Constants.BLACK_IP_LIST,this.list()); + this.list(); } }