如何在启用“OAUTH2”的spring-boot应用程序中禁用身份验证? 这通常是测试或构建阶段所必需的。
答案 0 :(得分:1)
当我们想要进行测试/构建并且我们没有即时可用的OAuth2令牌时,这是一个有效的场景。 以下是要遵循的步骤:
创建没有OAuth2配置的YAML文件(即application-{profile_name}.yml
)并在其中添加以下属性:
Security.ignored = /**
security.basic.enable=false
添加绕过HTTP / S请求授权的类。注意:此类应具有相同的配置文件名称(即{profile_name}
)。
@Profile({"profile_name"})
public class DisableOAuth2Config {
@Bean
public ResourceServerConfigurer resourceServerConfigurer() {
return new ResourceServerConfigurerAdapter() {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/**").permitAll();
}
};
}
}
在我们仍希望获得安全性的Profile
课程中提供SecurityConfiguration
。 @Profile({"local","dev","aws"})
,这将区分启用/禁用安全性的配置文件。
注意:请检查注释@EnableResourceServe
,@EnableWebSecurity
和@EnableGlobalMethodSecurity(prePostEnabled = true)
。它们应仅在SecurityConfiguration
课程中可用。不是多个地方,而不是SpringBoot
类。