小编Phi*_* Io的帖子

Spring Security与Keycloak集成时遇到NullPointerException

我是一个刚刚开始学习Keycloak的初学者,我想将它与Spring Security集成以获得更好的灵活性。我创建了一个全新的 Spring Boot 应用程序,并添加了以下代码(我在大多数入门教程中看到)来尝试。

@Configuration
@EnableWebSecurity
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter
{
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        KeycloakAuthenticationProvider keycloakAuthenticationProvider = keycloakAuthenticationProvider();
        keycloakAuthenticationProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper());
        auth.authenticationProvider(keycloakAuthenticationProvider);
    }

    @Bean
    public KeycloakConfigResolver KeycloakConfigResolver() {
        return new KeycloakSpringBootConfigResolver();
    }

    @Bean
    @Override
    protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
        return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl());
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception
    {
        super.configure(http);
        http
                .authorizeRequests()
                .antMatchers("/products*").hasRole("user")
                .anyRequest().permitAll();
    }

    @Bean
    @Override
    @ConditionalOnMissingBean(HttpSessionManager.class)
    protected HttpSessionManager httpSessionManager() {
        return new HttpSessionManager();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行该应用程序时,我遇到了 NullPointerException。这是错误堆栈跟踪:

org.springframework.beans.factory.BeanCreationException: …
Run Code Online (Sandbox Code Playgroud)

java spring-boot keycloak

3
推荐指数
1
解决办法
1429
查看次数

标签 统计

java ×1

keycloak ×1

spring-boot ×1