Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

密码编码问题
没有对密码进行加密

@Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("root").password("123").roles("vip1","vip2","vip3")
                .and()
                .withUser("xiao").password("123").roles("vip1","vip2");
    }

解决方法,对密码经行加密

protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())
                .withUser("root").password(new BCryptPasswordEncoder().encode("123")).roles("vip1","vip2","vip3")
                .and()
                .withUser("xiao").password(new BCryptPasswordEncoder().encode("123")).roles("vip1","vip2");
    }
posted @ 2022-03-17 21:07  小罗要有出息  阅读(205)  评论(0编辑  收藏  举报