Cha*_*lie 11 spring spring-boot keycloak
我有一个集成了 keycloak 的 Spring Boot 项目。现在我想禁用 keycloak 以进行测试。
我尝试通过添加keycloak.enabled=false
到application.properties
Keycloak文档中提到的那样,但它没有用。
那么如何禁用它呢?
Cha*_*lie 11
对于可能遇到同样问题的任何人,这就是我所做的。
我没有禁用 Keycloak,但我制作了一个单独的 Keycloak 配置文件用于测试目的。
这是我的配置文件
@Profile("test")
@Configuration
@EnableWebSecurity
public class SecurityTestConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/**").permitAll();
http.headers().frameOptions().disable();
http.csrf().disable();
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/**");
}
@Bean
@Scope(scopeName = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public AccessToken accessToken() {
AccessToken accessToken = new AccessToken();
accessToken.setSubject("abc");
accessToken.setName("Tester");
return accessToken;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,仅在测试环境中使用它很重要,因此我将配置注释为@Profile("test")
. 我还添加了一个AccessToken
bean,因为我的应用程序中的一些审计功能依赖于它。
它应该可以工作,但是根据有关jira 票证的最后一条评论,它似乎不是。
作为描述状态,您可以排除添加到您的 keycloak 的 spring boot 自动配置application.properties
:spring.autoconfigure.exclude=org.keycloak.adapters.springboot.KeycloakSpringBootConfiguration
归档时间: |
|
查看次数: |
9949 次 |
最近记录: |