91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Swagger2不被SpringSecurity框架攔截的配置方法是什么

發布時間:2023-03-29 17:17:14 來源:億速云 閱讀:180 作者:iii 欄目:開發技術

本篇內容主要講解“Swagger2不被SpringSecurity框架攔截的配置方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Swagger2不被SpringSecurity框架攔截的配置方法是什么”吧!

Swagger2不被SpringSecurity框架攔截的配置

打算在SpringSecurity框架中集成Swagger2框架進行接口功能的運行及測試,發現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接口文檔時,通過瀏覽器控制臺發現該/webjars路徑下的文件被攔截,故加上此過濾條件即可。(2020-10-23)
    					"/webjars/**"
    					
    					
    			);
    }

Spring security5 集成swagger2無法訪問

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

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

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

Swagger2不被SpringSecurity框架攔截的配置方法是什么

成功:

Swagger2不被SpringSecurity框架攔截的配置方法是什么

完整配置類代碼:

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提供簡潔的方式來創建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()
        ;
    }
}

到此,相信大家對“Swagger2不被SpringSecurity框架攔截的配置方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡山县| 溧阳市| 福鼎市| 申扎县| 尖扎县| 攀枝花市| 拉孜县| 城固县| 武功县| 怀化市| 广水市| 潞城市| 上蔡县| 阳城县| 德州市| 隆尧县| 中牟县| 什邡市| 博乐市| 乐昌市| 岳阳县| 渭南市| 陇西县| 如东县| 分宜县| 泌阳县| 固镇县| 六安市| 闵行区| 虹口区| 工布江达县| 彝良县| 巨野县| 盖州市| 玛多县| 筠连县| 萝北县| 镇远县| 日照市| 白河县| 滁州市|