没有用户存储的应用相当于没有用户,因为任何用户都会被拒之门外。我们所需要的是用户存储,也就是用户名、密码以及其他信息存储的地方,在进行认证决策的时候,会对其进行检索。Spring Security非常灵活,能够基于各种数据存储来认证用户。它内置了多种常见的用户存储场景,如内存、关系型数据库以及LDAP。同时,我们也可以编写并插入自定义的用户存储实现。借助Spring Security的Java配置,我们能够很容易地配置一个或多个数据存储方案。
使用基于内存的用户存储
重写chonfigure(AuthenticationManagerBuilder)方法可以方便地配置Spring Security对认证的支持。通过inmMemoryAuthentication()方法,我们可以启用、配置并任意填充基于内存的用户存储。实例如下:
package spittr.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config