最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring boot對IP地址設置黑白名單的項目實踐

 更新時間:2025年07月13日 11:07:47   作者:程序員阿明  
本文主要介紹了spring boot對IP地址設置黑白名單的項目實踐,通過YML配置文件定義過濾器類并注冊FilterConfig來實現訪問控制,具有一定的參考價值,感興趣的可以了解一下

1、在yml配置文件中

ip:
  whitelist: IP1  #白名單
  blacklist: IP2 #黑名單

2、定義過濾器類

@Component
public class IpFilter implements Filter {

    //白名單IP列表
    private List<String> whitelist;
    //黑名單IP列表
    private List<String> blacklist;


    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        //獲取上下文信息
        ServletContext context = filterConfig.getServletContext();
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);
        Environment environment = ctx.getBean(Environment.class);
        //賦予初值
        whitelist = Arrays.stream(environment.getProperty("ip.whitelist").split(","))
                .map(String::trim)
                .collect(Collectors.toList());
        blacklist=Arrays.stream(environment.getProperty("ip.blacklist").split(","))
                .map(String::trim)
                .collect(Collectors.toList());
    }




    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        String ip = httpRequest.getRemoteAddr();

        if (whitelist.contains(ip)) {
            // 白名單IP,直接通過
            chain.doFilter(request, response);
        } else if (blacklist.contains(ip)) {
            // 黑名單IP,拒絕訪問
            HttpServletResponse httpResponse = (HttpServletResponse) response;
            httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN, "IP is in blacklist");
        } else {
            // 非黑白名單IP,根據業(yè)務需求處理(例如:允許或拒絕)
            chain.doFilter(request, response);
        }
    }


    @Override
    public void destroy() {
        // 清理資源,如果有的話
    }
}

3、注冊config類FilterConfig

@Configuration
public class FilterConfig {
    @Bean
    public FilterRegistrationBean<IpFilter> ipFilterRegistration() {
        FilterRegistrationBean<IpFilter> registrationBean = new FilterRegistrationBean<>();
        registrationBean.setFilter(new IpFilter());
        registrationBean.addUrlPatterns("/*"); // 設置過濾器攔截的路徑
        registrationBean.setName("ipFilter");
        registrationBean.setOrder(1); // 設置過濾器的順序
        return registrationBean;
    }

}

 到此這篇關于spring boot對IP地址設置黑白名單的項目實踐的文章就介紹到這了,更多相關springboot IP黑白名單內容請搜索腳本之家以前的文章或繼續(xù)瀏

相關文章

  • SSM 整合的配合文件(分享)

    SSM 整合的配合文件(分享)

    下面小編就為大家分享一篇SSM 整合的配合文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Logback日志存放路徑不統一解決方案

    Logback日志存放路徑不統一解決方案

    這篇文章主要介紹了Logback日志存放路徑不統一解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Java?中的?getDeclaredFields()使用與原理解析

    Java?中的?getDeclaredFields()使用與原理解析

    在Java反射機制中,getDeclaredFields()用于獲取類的所有字段,包括私有字段,通過反射,可以在運行時動態(tài)地獲取類的信息并操作其成員,本文詳細介紹了getDeclaredFields()的使用方法、工作原理以及最佳實踐,涵蓋了反射的基本概念、使用場景和注意事項,感興趣的朋友一起看看吧
    2025-01-01
  • Java讀取文件及基于正則表達式的獲取電話號碼功能詳解

    Java讀取文件及基于正則表達式的獲取電話號碼功能詳解

    這篇文章主要介紹了Java讀取文件及基于正則表達式的獲取電話號碼功能,結合實例形式詳細分析了正則匹配操作的相關語法及電話號碼匹配的原理與實現技巧,需要的朋友可以參考下
    2017-09-09
  • 實例解析Java中的構造器初始化

    實例解析Java中的構造器初始化

    這篇文章主要通過實例解析Java中的構造器初始化,代碼很簡單,敘述很明確,需要的朋友可以了解下。
    2017-09-09
  • Spring實戰(zhàn)之依賴關系注入之后的行為示例

    Spring實戰(zhàn)之依賴關系注入之后的行為示例

    這篇文章主要介紹了Spring實戰(zhàn)之依賴關系注入之后的行為,結合實例形式分析了Spring依賴關系注入之后的行為實現與使用相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • java實現桌面右下角彈窗效果

    java實現桌面右下角彈窗效果

    這篇文章主要為大家詳細介紹了java實現桌面右下角彈窗效果,模仿類似于qq消息彈窗,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Java值得使用Lambda的8個場景合集

    Java值得使用Lambda的8個場景合集

    可能對不少人來說,Lambda顯得陌生又復雜,覺得Lambda會導致代碼可讀性下降,但畢竟2023年了,JDK都出了那么多新版本,是時候試試Lambda了
    2023-08-08
  • MyBatis屬性名和字段名配置不一致的解決

    MyBatis屬性名和字段名配置不一致的解決

    在使用MyBatis進行持久化框架開發(fā)時,經常會遇到屬性名和數據庫字段名不一致的情況,本文主要介紹了MyBatis屬性名和字段名配置不一致的解決,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • elasticsearch索引的創(chuàng)建過程index?create邏輯分析

    elasticsearch索引的創(chuàng)建過程index?create邏輯分析

    這篇文章主要介紹了elasticsearch索引核心index?create,索引的創(chuàng)建過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04

最新評論

东城区| 阿尔山市| 达日县| 恩平市| 宿松县| 兰考县| 贵阳市| 桓仁| 吐鲁番市| 德钦县| 浏阳市| 清丰县| 祁阳县| 壶关县| 大荔县| 龙江县| 安顺市| 广丰县| 凤翔县| 金溪县| 元谋县| 方正县| 嘉峪关市| 新乡县| 麻阳| 沈阳市| 新乡市| 长泰县| 靖西县| 亚东县| 西丰县| 凤阳县| 郓城县| 宝丰县| 集安市| 长治市| 临西县| 延长县| 庆云县| 徐闻县| 甘谷县|