Spring Security 升级到5之后,对密码存储格式做出改变。
格式:{id}encodedPassword
如果在main函数中做简单的测试的话可以如下:
public static void main(String[] args) {
User user = (User) User.withUsername("admin").password("{bcrypt}"+new BCryptPasswordEncoder().encode("admin")).roles("USER").build();
UserDetailsService service = new InMemoryUserDetailsManager();
((InMemoryUserDetailsManager)service).createUser(user);
System.out.println(user.getPassword());
DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
provider.setUserDetailsService(service);
List<AuthenticationProvider> list = new ArrayList<>();
list.add(provider);
AuthenticationManager manager = new ProviderManager(list);
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("admin","admin"