spring security进阶 使用数据库中的账户和密码认证
spring security 使用数据库中的账户和密码认证 [TOC] 示例工程地址 一、原理分析 前台的登录请求发送到后端后会由spring security进行拦截,即controller层由框架自己提供。这样用户名和密码的认证就需要在service层完成,所以框架需要在service层获取到我们自己的数据库账号信息。 spring security 提供了一个接口 **UserDetailsService **来让用户提供账号和密码,其内容如下 public interface UserDetailsService { UserDetails loadUserByUsername(String username) throws UsernameNotFoundException; } 用户实现这个接口中的loadUserByUsername方法,通过数据库中查询的账号和密码构造一个UserDetails对象返回给spring security,然后框架自己完成认证操作。 其中UserDetails也是一个接口,spring security用它来封装当前进行认证的用户信息 public interface UserDetails extends Serializable { Collection<? extends GrantedAuthority>