欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot整合Swagger頁(yè)面禁止訪問swagger-ui.html方式

 更新時(shí)間:2025年02月08日 10:02:14   作者:費(fèi)曼樂園  
本文介紹了如何在SpringBoot項(xiàng)目中通過配置SpringSecurity和創(chuàng)建攔截器來禁止訪問SwaggerUI頁(yè)面,此外,還提供了禁用SwaggerUI和Swagger資源的配置方法,以確保這些端點(diǎn)和頁(yè)面對(duì)外部用戶不可見或無法訪問

SpringBoot整合Swagger頁(yè)面禁止訪問swagger-ui.html

在Spring Boot中禁止訪問Swagger UI頁(yè)面并在攔截器中進(jìn)行攔截可以通過配置Spring Security來實(shí)現(xiàn)。

下面是一個(gè)簡(jiǎn)單的示例,演示如何實(shí)現(xiàn)這一點(diǎn):

在Spring Boot項(xiàng)目中創(chuàng)建一個(gè)Spring Security配置類

如下所示:

import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/swagger-ui.html").denyAll()
            .antMatchers("/swagger-resources/**").permitAll() // 如果需要訪問Swagger的其他資源,可以放行
            .and()
            .csrf().disable();
    }
}

在這個(gè)配置中,我們使用HttpSecurity對(duì)象配置了訪問規(guī)則。

  • .antMatchers("/swagger-ui.html").denyAll() 表示禁止訪問 swagger-ui.html 頁(yè)面
  • .antMatchers("/swagger-resources/**").permitAll() 則允許訪問Swagger的其他資源

創(chuàng)建一個(gè)攔截器(Interceptor)類

用于攔截對(duì) swagger-ui.html 的訪問:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (request.getRequestURI().equals("/swagger-ui.html")) {
            response.setStatus(HttpServletResponse.SC_FORBIDDEN);
            return false;  // 攔截訪問
        }
        return true;  // 放行其他請(qǐng)求
    }
    
    // 可以實(shí)現(xiàn) postHandle 和 afterCompletion 方法進(jìn)行相應(yīng)處理
}

配置這個(gè)攔截器類并使其生效:

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor());
    }
}

這樣配置后,即可通過Spring Security和攔截器實(shí)現(xiàn)禁止訪問Swagger UI頁(yè)面 swagger-ui.html。

如果你想完全禁用Swagger UI和Swagger資源

你可以在 Spring Boot 項(xiàng)目的 application.ymlapplication.properties 文件中添加以下配置來實(shí)現(xiàn):

  • application.yml 文件中的配置:
spring:
  profiles: 
  swagger:
    enabled: false
  • application.properties 文件中的配置:
spring.profiles.swagger.enabled=false

通過將這些配置設(shè)置為 false,你可以完全禁用 Spring Boot 中關(guān)于 Swagger UI 和 Swagger 資源的自動(dòng)配置和展示。

這樣就可以確保這些端點(diǎn)和頁(yè)面對(duì)外部用戶不可見或無法訪問。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA中值類型和引用類型的區(qū)別

    JAVA中值類型和引用類型的區(qū)別

    在java開發(fā)中經(jīng)常會(huì)遇到值類型和引用類型知識(shí),但是有很多朋友不清楚java中值類型和引用類型的區(qū)別,今天小編通過本文給大家介紹下
    2017-02-02
  • SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式

    這篇文章主要介紹了SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式,并通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • Mybatis的Cursor避免OOM異常的方法詳解

    Mybatis的Cursor避免OOM異常的方法詳解

    在Mybatis中,有一個(gè)特殊的對(duì)象Cursor,這個(gè)對(duì)象的注釋上清晰的說明了,這個(gè)類的用途,在Mybatis中使用Cursor非常簡(jiǎn)單,只要在Mapper文件中將方法的返回值設(shè)置成Cursor<T>即可,本文給大家介紹了Mybatis的Cursor避免OOM異常的方法,需要的朋友可以參考下
    2024-06-06
  • Java 使用keytool創(chuàng)建CA證書的操作

    Java 使用keytool創(chuàng)建CA證書的操作

    這篇文章主要介紹了Java 使用keytool創(chuàng)建CA證書的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java實(shí)現(xiàn)租車系統(tǒng)

    java實(shí)現(xiàn)租車系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)租車系統(tǒng),以及遇到的兩個(gè)問題解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Mybatis中#{}與${}的區(qū)別詳解

    Mybatis中#{}與${}的區(qū)別詳解

    這篇文章主要介紹了Mybatis中#{}與${}的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java實(shí)戰(zhàn)項(xiàng)目之校園跑腿管理系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)項(xiàng)目之校園跑腿管理系統(tǒng)的實(shí)現(xiàn)

    只有理論是不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+vue+maven+elementui+mysql實(shí)現(xiàn)一個(gè)校園跑腿管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • Java中URL傳中文時(shí)亂碼的解決方法

    Java中URL傳中文時(shí)亂碼的解決方法

    為什么說亂碼是中國(guó)程序員無法避免的話題呢?這個(gè)主要是編碼機(jī)制上的原因,大家都知道中文和英文的編碼格式不一樣,解碼自然也不一樣!這篇文章就給大家分享了Java中URL傳中文時(shí)亂碼的解決方法,有需要的朋友們可以參考借鑒。
    2016-10-10
  • Java中Hutool克隆功能的使用

    Java中Hutool克隆功能的使用

    本文主要介紹了Java中Hutool克隆功能的使用,cn.hutool.core.clone.Cloneable?是Hutool中提供的一個(gè)接口,用于支持對(duì)象的深度克隆操作,下面就一起來介紹一下
    2024-04-04
  • 最好的8個(gè)Java RESTful框架

    最好的8個(gè)Java RESTful框架

    最好的8個(gè)Java RESTful框架,需要的朋友可以參考下
    2016-05-05

最新評(píng)論