Spring Security如何实现基于数据库账户密码的认证机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3164个文字,预计阅读时间需要13分钟。
一、原理分析前台登录请求发送到后端后,由Spring Security进行拦截,拦截后由Controller层框架自动处理。
二、实现步骤
1.用户名和密码认证
在Service层完成用户名和密码的认证。2. Service层获取数据框架在Service层获取用户信息。
3. 输出结果输出用户信息。
一、原理分析
前台的登录请求发送到后端后会由spring security进行拦截,即controller层由框架自己提供。这样用户名和密码的认证就需要在service层完成,所以框架需要在service层获取到我们自己的数据库账号信息。
spring security 提供了一个接口 UserDetailsService 来让用户提供账号和密码,其内容如下
public interface UserDetailsService { UserDetails loadUserByUsername(String username) throws UsernameNotFoundException; }
用户实现这个接口中的loadUserByUsername方法,通过数据库中查询的账号和密码构造一个UserDetails对象返回给spring security,然后框架自己完成认证操作。
本文共计3164个文字,预计阅读时间需要13分钟。
一、原理分析前台登录请求发送到后端后,由Spring Security进行拦截,拦截后由Controller层框架自动处理。
二、实现步骤
1.用户名和密码认证
在Service层完成用户名和密码的认证。2. Service层获取数据框架在Service层获取用户信息。
3. 输出结果输出用户信息。
一、原理分析
前台的登录请求发送到后端后会由spring security进行拦截,即controller层由框架自己提供。这样用户名和密码的认证就需要在service层完成,所以框架需要在service层获取到我们自己的数据库账号信息。
spring security 提供了一个接口 UserDetailsService 来让用户提供账号和密码,其内容如下
public interface UserDetailsService { UserDetails loadUserByUsername(String username) throws UsernameNotFoundException; }
用户实现这个接口中的loadUserByUsername方法,通过数据库中查询的账号和密码构造一个UserDetails对象返回给spring security,然后框架自己完成认证操作。

