一、Spring Security中自定义用户名/密码
1.1、自定义用户名/密码
1.1.1、配置文件中配置
spring.security.user.name=root
spring.security.user.password=123456
1.1.2、定义基于内存的用户
/**
* @Author : 一叶浮萍归大海
* @Date: 2024/1/11 21:50
* @Description:
*/
@Configuration
public class MyWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
/**
* 密码加密器
* @return
*/
@Bean
PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
/**
* 配置基于内存的用户
* @param auth
* @throws Exception
*/
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("admin")
.password("123456")
.roles("admin")
.and()
.withUser("root")
.password("123456")
.roles("root");
}
}
1.1.3、基于UserDetailService接口定义用户
概述:文章来源:https://www.toymoban.com/news/detail-803249.html
Spring Security支持多种数据源,例如内存、数据库、LDAP等,这些不同来源的数据被共同封装成了UserDetailService接口,换句话说任何实现了UserDetailService接口的对象都可以作为认证数据源,因为我们还可以通过重写WebSecurityConfigurerAdapter 中的 userDetailsService 方法来提供一个 UserDetailService 实例进而配置多个用户,如下:文章来源地址https://www.toymoban.com/news/detail-803249.html
/**
* 密码加密器
* @return
*/
@Bean
PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
/**
* 根据UserDetailsService定义基于内存的用户
* @return
*/
@Bean
protected UserDetailsService userDetailsService() {
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withUsername("admin").password("123456").roles("admin").build());
manager.createUser(User.withUsername("root").password("123456").roles("root").build());
return manager;
}
到了这里,关于系列三、Spring Security中自定义用户名/密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!