簡體   English   中英

Spring Boot:創建名為“springSecurityFilterChain”的 bean 時出錯

[英]Spring Boot: Error creating bean with name 'springSecurityFilterChain'

這是錯誤:

頭像頭像

當我在 Spring Boot 中使用 spring security 時,出現錯誤。 我已經搜索過谷歌,並閱讀了 Spring 文檔,但我仍然遇到了問題。 我不明白這個錯誤是什么意思。

根據我在屏幕截圖中看到的內容,我猜測您的UserDetailsServiceImpl實例為null

為了真正幫助您,請添加堆棧跟蹤。 不是截圖,而是文字。

我的絨球

我的網絡安全配置

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

UserDetailsServicelmpl userDetailsService;


AuthEntryPointjwt unauthorizedHandler;

@Bean
public AuthTokenFilter authenticationJwtTokenFilter() {
    return new AuthTokenFilter();
}

@Override
public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
    authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}

@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();
}

@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.cors().and().csrf().disable()
            .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
            .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
            .authorizeRequests().antMatchers("/api/auth/**").permitAll()
            .antMatchers("/api/test/**").permitAll()
            .anyRequest().authenticated();

    http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
}

用戶詳情服務實現

@Autowired UserRepository userRepository;

@Transactional
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    User user = userRepository.findByUsername(username)
            .orElseThrow(()->new UsernameNotFoundException("User not found with username"+ username));
    return  UserDetailslmpl.build(user);
}

用戶詳情服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM