使用基于内存的用户存储
因为我们的安全配置类扩展了 WebSecurityConfigurerAdapter,因此配置用户存储的最简单方式就是重载 configure() 方法,并以 AuthenticationManagerBuilder 作为传入参数。
AuthenticationManagerBuilder 有多个方法可以用来配置 Spring Security 对认证的支持。通过 inMemoryAuthentication() 方法,我们可以启用、配置并任意填充基于内存的用户存储。
在上述程序清单中,SecurityConfig 重载了 configure() 方法,并使用两个用户来配置内存用户存储。
需要注意的是:
roles() 方法是 authorities() 方法的简写形式。
roles() 方法所给定的值都会添加一个“ROLE_”前缀,并将其作为权限授予给用户。
配置用户详细信息的方法如下表:
方法 | 描述 |
---|---|
accountExpired(boolean) | 定义账号是否已经过期 |
accountLocked(boolean) | 定义账号是否已经锁定 |
and() | 用来连接配置 |
authorities(GrantedAuthority...) | 授予某个用户一项或多项权限 |
authorities(List<? extends GrantedAuthority>) | 授予某个用户一项或多项权限 |
authorities(String...) | 授予某个用户一项或多项权限 |
credentialsExpired(boolean) | 定义凭证是否已经过期 |
disabled(boolean) | 定义账号是否已被禁用 |
password(String) | 定义用户的密码 |
roles(String...) | 授予某个用户一项或多项角色 |
Last updated