扫码阅读
手机扫码阅读

Sping Security-3-动态认证用户信息

331 2024-07-19

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Sping Security-3-动态认证用户信息
文章来源:
springboot葵花宝典
扫码关注公众号
Spring Security-动态认证用户信息摘要

Spring Security-动态认证用户信息

概述

本文介绍了如何通过Spring Security动态从数据库获取用户信息进行身份认证。相比前两节的内存存储方法,本节采用Spring Security提供的JdbcUserDetailsManager类,以JDBC方式对接数据库,实现动态认证用户信息。

项目准备

添加依赖

引入MySQL驱动和MyBatis-Plus依赖,以支持数据库操作和数据查询。

添加数据库配置

application.yml文件中配置数据库连接,指定MySQL数据库的URL、用户名和密码。

创建表

定义两个数据库表:用户表sys_user和权限表sys_authorities,并插入初始数据。

实体类

创建两个实体类UserEntityAuthoritiesEntity,分别映射到用户表和权限表。

实现Mapper

使用MyBatis-Plus实现数据表对应的Mapper接口,以减少代码编写。

添加注解

在项目入口类上添加@MapperScan注解,以启用Mapper扫描。

UserDetailsService的实现

自定义实现UserDetailsService接口,通过重写loadUserByUsername方法,定义从数据库获取用户信息的逻辑。具体实现包括通过查询sys_user表获取用户信息,并通过sys_authorities表获取用户权限。

重构认证管理器

在Spring Security的配置类中,注入自定义CustomUserDetailsService,并在configure(AuthenticationManagerBuilder auth)方法中指定以数据库方式认证用户信息。

测试

启动项目后,访问登录页面http://localhost:8888/login/page,使用账号admin和密码123456进行登录测试,即可验证动态用户认证功能。

结束语

本文详细介绍了通过Spring Security动态认证用户信息的实现过程。如果您觉得内容有帮助,欢迎点赞、收藏和转发。

想要了解更多内容?

查看原文:Sping Security-3-动态认证用户信息
文章来源:
springboot葵花宝典
扫码关注公众号