Spring boot:禁用安全自动配置

Lug*_*aru 5 java security spring-security web spring-boot

我有多部分网络项目。Web Admin部分包含:

compile('org.springframework.boot:spring-boot-starter-web')
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-starter-jetty")
compile("org.springframework.boot:spring-boot-starter-actuator")
Run Code Online (Sandbox Code Playgroud)

主项目构建文件包含:

compile group: 'org.springframework', name: "spring-webmvc", version: springVersion
compile(group: 'org.springframework.security', name: "spring-security-web", version: springSecurityVersion) { exclude(module: 'spring-jdbc') }
Run Code Online (Sandbox Code Playgroud)

Spring Boot 应用程序文件:

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class WebAdminApplication {

    public static void main(String[] args) {
        SpringApplication.run(WebAdminApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我对我的管理部分做 http 请求时,我在我的AuthenticationProvider

auth.getPrincipal() -> user
auth.getCredentials() -> caeebd3a-307b-4edf-8f2f-833fad9ebc00
Run Code Online (Sandbox Code Playgroud)

如何禁用自动安全功能?

Rah*_*rya 5

甚至我也面临着同样的问题。所以,我添加了下面的代码。

  • 情况 1:如果您尚未激活“ACTUATOR”: @SpringBootApplication(exclude = { SecurityAutoConfiguration.class })

  • 情况 2:如果您已激活“ACTUATOR”: @SpringBootApplication(exclude = { org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class})


Ami*_*noy 4

如果你查看spring boot 的 spring.factories(在撰写本文时版本为 1.3.5),你可以看到 security 有 4 个自动配置类:

org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration,\
org.springframework.boot.autoconfigure.security.SecurityFilterAutoConfiguration,\
org.springframework.boot.autoconfigure.security.FallbackWebSecurityAutoConfiguration,\
org.springframework.boot.autoconfigure.security.oauth2.OAuth2AutoConfiguration,\
Run Code Online (Sandbox Code Playgroud)

您可能还想禁用 SecurityFilterAutoConfiguration (或全部 4 个)