亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Swagger2不被SpringSecurity框架攔截的配置及說明

 更新時間:2023年03月29日 16:58:04   作者:指尖上跳動的旋律  
這篇文章主要介紹了Swagger2不被SpringSecurity框架攔截的配置及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Swagger2不被SpringSecurity框架攔截的配置

打算在SpringSecurity框架中集成Swagger2框架進行接口功能的運行及測試,發(fā)現Swagger2會被SpringSecurity框架攔截,導致我們在瀏覽器中訪問不了Swagger2首頁。       

解決這個問題的主要方法只需要在SpringSecurity的配置類中添加一個方法即可,博主的SpringSecurity的配置類定義為SecurityConfig,添加以下代碼重啟項目再訪問即可;

/*
     * 解決Security訪問Swagger2被攔截的問題;
     * */
    @Override
    public void configure(WebSecurity web) throws Exception {
    	// allow Swagger URL to be accessed without authentication
    			web.ignoring().antMatchers(
    	                "/swagger-ui.html",
    	                "/v2/api-docs", // swagger api json
    	                "/swagger-resources/configuration/ui", // 用來獲取支持的動作
    	                "/swagger-resources", // 用來獲取api-docs的URI
    	                "/swagger-resources/configuration/security", // 安全選項
    					"/swagger-resources/**",
    					//補充路徑,近期在搭建swagger接口文檔時,通過瀏覽器控制臺發(fā)現該/webjars路徑下的文件被攔截,故加上此過濾條件即可。(2020-10-23)
    					"/webjars/**"
    					
    					
    			);
    }

Spring security5 集成swagger2無法訪問

主要還是spring security把 swagger需要訪問的URL被攔截,不只是swagger-ui.html這個URL

查找網上的解決方案沒一個好用的,然后自己在跳轉重定向的方法里打印了引發(fā)跳轉的URL,一個一個試出來的老鐵。累啊~

話不多說,放圖,配置security配置類即可

成功:

完整配置類代碼:

package com.lw.bpczy.security.config;
 
 
import com.lw.bpczy.security.authentication.MyAuthenticationFailureHandler;
import com.lw.bpczy.security.authentication.MyAuthenticationSuccessHandler;
import com.lw.bpczy.security.authorization.MyAccessDeniedHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.cors.CorsUtils;
 
 
/**
* @author: Liang Shan
* @date: 2019-11-12 10:25
* @description: security安全配置
* WebSecurityConfigurerAdapter提供簡潔的方式來創(chuàng)建webSecurityConfigurer
*/
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
 
    @Autowired
    private MyAuthenticationSuccessHandler successHandler;
    @Autowired
    private MyAuthenticationFailureHandler failureHandler;
    @Autowired
    private MyAccessDeniedHandler accessDeniedHandler;
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
    /*配置安全項*/
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.formLogin()
                .loginPage("/needLogin")
                .loginProcessingUrl("/login").permitAll()
                .successHandler(successHandler)
                .failureHandler(failureHandler)
                .and()
                .authorizeRequests()
                // 授權不需要登錄權限的URL
                .antMatchers("/needLogin",
                             "/swagger*//**",
                             "/v2/api-docs",
                             "/webjars*//**").permitAll()
                .requestMatchers(CorsUtils::isPreFlightRequest).permitAll()
                .anyRequest().access("@rbacService.hasPermission(request,authentication)").
                and().exceptionHandling().accessDeniedHandler(accessDeniedHandler).
                and().cors().and().csrf().disable()
        ;
    }
}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java?EE實現用戶后臺管理系統(tǒng)

    Java?EE實現用戶后臺管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java?EE實現用戶后臺管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java中的static的使用指南

    Java中的static的使用指南

    本文給大家簡單總結了下java中的static的使用注意事項及方法,非常的實用,有需要的小伙伴可以參考下
    2016-04-04
  • springMVC配置環(huán)境實現文件上傳和下載

    springMVC配置環(huán)境實現文件上傳和下載

    這篇文章主要為大家詳細介紹了springMVC配置環(huán)境實現文件上傳和下載的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • java運行windows的cmd命令簡單代碼

    java運行windows的cmd命令簡單代碼

    這篇文章主要介紹了java運行windows的cmd命令簡單代碼,有需要的朋友可以參考一下
    2013-12-12
  • java應用開發(fā)之Mybatis通過Mapper代理自定義接口的實現

    java應用開發(fā)之Mybatis通過Mapper代理自定義接口的實現

    這篇文章主要介紹了java應用開發(fā)之Mybatis通過Mapper代理自定義接口的實現方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Java數據結構與算法之單鏈表深入理解

    Java數據結構與算法之單鏈表深入理解

    這篇文章主要介紹了Java數據結構與算法之單鏈表深入理解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Java的jstack命令使用示例詳解

    Java的jstack命令使用示例詳解

    jstack 命令非常的簡單,我們可以通過 jstack -h 或者 jstack -help 命令查看它的用法詳情,今天通過本文重點給大家介紹Java的jstack命令使用,感興趣的朋友一起看看吧
    2022-03-03
  • Spring Security  整體架構操作流程

    Spring Security  整體架構操作流程

    這篇文章主要介紹了Spring Security  整體架構操作流程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07
  • Java中實現高清圖片壓縮的兩種方案(最新推薦)

    Java中實現高清圖片壓縮的兩種方案(最新推薦)

    文章首先介紹了Java中進行高清圖片壓縮的基本方法,包括使用Java標準庫ImageIO和第三方庫ApacheCommonsCompress,通過示例代碼展示了如何調整圖像質量和使用第三方工具來壓縮圖片文件,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Java使用JDBC向MySQL數據庫批次插入10W條數據(測試效率)

    Java使用JDBC向MySQL數據庫批次插入10W條數據(測試效率)

    使用JDBC連接MySQL數據庫進行數據插入的時候,特別是大批量數據連續(xù)插入(100000),如何提高效率呢?今天小編通過本教程給大家介紹下
    2016-12-12

最新評論