禁用 Spring Boot 中引入安全元件 spring-boot-starter-security 的方法

雨塵365發表於2020-08-08
1、當我們通過 maven 或 gradle 引入了 Spring boot 的安全元件 spring-boot-starter-security,Spring boot 預設開啟安全元件,這樣我們就需要先登入了,但是在開發過程中,我們並不想經常的登入(每重啟一次服務必然帶來一次登入操作,並且換了客戶端同樣需要登入),為減少這部分時間的浪費,我們目前有兩種方法來禁用 Spring boot 安全元件,這兩種方法並不需要我們將相應的程式碼刪除或註釋掉,省去了繁瑣的操作。
    1.1、maven 方式引入 Spring Boot 安全元件,即在 pom.xml 配置檔案中引入如下配置:
        <dependency> 
           <groupId>org.springframework.boot</groupId> 
           <artifactId>spring-boot-starter-security</artifactId> 
          </dependency>
    1.2、gradle 方式引入 Spring Boot 安全元件,即在 build.gradle 配置檔案中加入如下配置:
        implementation 'org.springframework.boot:spring-boot-starter-security

2、方法一:
    在 Spring Boot 的啟動類中加入註解 @EnableAutoConfiguration( exclude = { SecurityAutoConfiguration.class } ) 來禁用 Spring 安全元件,推薦採用此方法,因為其不汙染註解 SpringBootApplication,同時想解除禁用時只需將此行註釋即可;

3、方法二:
    在 Spring Boot 的啟動類中的註解 @SpringBootApplication 上加入排除 Spring Boot 安全元件的配置,即:
        @SpringBootApplication( exclude = { SecurityAutoConfiguration.class } )
    此方法雖然同樣可以達到禁用 Spring Boot 安全元件的目的,但和第一種方法相比,缺點是顯而易見的,所以不推薦。

 

相關文章