SpringBoot Security 默认的用户名是user,密码就是日志打印的字符。
方式1:配置文件
在配置文件中配置用户名和密码
spring.security.user.name=admin
spring.security.user.password=111111
方式2:代码配置基于内存
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String password = passwordEncoder.encode("111111");
auth.inMemoryAuthentication().withUser("user").password(password).roles("administrator");
}
@Bean
PasswordEncoder password() {
return new BCryptPasswordEncoder();
}
}
方式3:代码配置基于UserDetailsService实现类
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(new UserDetailsService() {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
List<GrantedAuthority> auths = AuthorityUtils.commaSeparatedStringToAuthorityList("administrator");
return new User("user", new BCryptPasswordEncoder().encode("123456"), auths);
}
}).passwordEncoder(password());
}
@Bean
PasswordEncoder password() {
return new BCryptPasswordEncoder();
}
}