1. 配置文件
spring.security.user.name=admin
spring.security.user.password=admin
2. 配置类
@Configuration
public class MySecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//密码加密
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String password = passwordEncoder.encode("admin");
//配置用户名和密码认证
auth.inMemoryAuthentication().withUser("admin").password(password).roles("admin");
}
@Bean
public PasswordEncoder getPasswordEncoder(){
//获取PasswordEncoder
return new BCryptPasswordEncoder();
}
}
3. UserDetailsService实现类
@Configuration
public class MySecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(getPasswordEncoder());
}
@Bean
public PasswordEncoder getPasswordEncoder(){
// 获取PasswordEncoder
return new BCryptPasswordEncoder();
}
}
@Service("userDetailsService")
public class MyUserDetailsService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
//用户权限
List auths =
AuthorityUtils.commaSeparatedStringToAuthorityList("role");
return new User("admin",
new BCryptPasswordEncoder().encode("admin"), auths);
}
}