ソフトウェアエンジニアの日常の雑記

日々思ったことをまとめます

SpringBoot2.0で There is no PasswordEncoder mapped for the id "null" エラーが...

本家はこちら

SpringBoot2.0でいろいろ試してたら、 起動時にThere is no PasswordEncoder mapped for the id "null"のエラーがでてた。 どうやら、passwordencoder設定されてないとでるらしい。

DeprecatedだがNoOpPasswordEncoderというのがあるので、こちらをセットしたら起動できた。

@Configuration
@EnableWebSecurity
@ComponentScan
public class WebSecruityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/login").permitAll()
                .anyRequest().access("isAuthenticated()")
                .and()
                .formLogin()
                .and()
                .rememberMe();

    }


    public void configure(AuthenticationManagerBuilder auth) throws Exception{
        auth.inMemoryAuthentication()
                .withUser("hoge")
                .password("fuga")
                .authorities(Collections.emptyList());

    }

    @Bean
    public PasswordEncoder passwordEncoder(){
        return NoOpPasswordEncoder.getInstance();
    }

}