您当前的位置: 首页 >  数据库

一一哥Sun

暂无认证

  • 3浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring Security系列教程10--基于自定义数据库模型实现授权

一一哥Sun 发布时间:2021-09-17 15:52:01 ,浏览量:3

前言

在上一个章节中,一一哥 给大家讲解了如何基于默认的数据库模型来实现认证授权,在这种模型里,用户的信息虽然是保存在数据库中的,但是有很多的限制!因为我们必须按照源码规定的方式去建库建表,存在灵活性不足的问题。而我们真正开发时,用户角色等表肯定要根据自己的项目需求来单独设计,所以我们有必要进行用户及角色表的自定义设计。

那么在本篇文章中,壹哥 就带各位,结合自己的实际项目需求,进行数据库和表的自定义设计,然后在这个自定义的数据库中实现用户信息的认证与授权工作。

一. 核心API源码介绍 1. UserDetailsService源码

在上一章节中,我给大家介绍了一个JdbcUserDetailsManager类,其结构关系如下图所示:

JdbcUserDetailsManager类可以实现基于默认数据库模型的授权认证,但是如果我们想要采用一个更加灵活的方式--基于自定义数据库模型来实现认证授权,那么就需要利用UserDetailsService接口来实现了。

请先跟着壹哥来看看UserDetailsService接口的源码,简单了解一下该类的作用。

public interface UserDetailsService {

	/**
	 * Locates the user based on the username. 
	 */
	UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
}

从源码中可以看出,我们可以利用loadUserByUsername()方法,根据用户名查询出对应的UserDetails信息,那么UserDetails是什么呢?

2. UserDetails源码
public interface UserDetails extends Serializable {
	
	Collection            
关注
打赏
1665624836
查看更多评论
0.0408s