通过简单的调用inMemoryAuthentication()方法,可以启用、配置并任意填充基于内存的用户存储。
这种方式对于调试和开发人员测试是很有用的,但并不适合于生产环境
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()// 基于内存的用户存储
.withUser("admin")// 为内存用户存储添加新的用户,参数为username,
// 返回UserDetailsManagerConfigurer.UserDetailsBuilder对象,该对象提供多个进一步配置用户的方法,如下
.password("password")// 设置用户密码
.roles("USER", "ADMIN")// 为给定用户授予一个或多个角色权限,roles()方法所给定的值都会添加一个“ROLE_”前缀,并将其作为权限授予用户。
.and() // 连接配置
.withUser("user").password("password").authorities("USER");//roles()是authorities()的简写形式,两者是等价的。
}