扫码阅读
手机扫码阅读

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

135 2024-07-19

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

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

概述

本文介绍了如何在Spring Security中实现动态认证用户信息,即从数据库中获取用户信息进行身份认证,使用UserDetailsService接口和其实现类JdbcUserDetailsManager。

项目准备

添加依赖

项目使用MySQL数据库和MyBatis-Plus,因此需要添加相应的mysql-connector-java和mybatis-plus-boot-starter依赖。

添加数据库配置

在application.yml中配置数据库连接信息,包括URL、用户名和密码。

创建user和权限表

创建用户(sys_user)和权限(sys_authorities)表,并插入示例数据。

实体类

定义sys_user和sys_authorities两个实体类,对应数据库中的表。

实现两个实体类的Mapper

使用MyBatis-Plus简化Mapper的实现。

添加@MapperScan注解

在Spring Boot主程序类上添加@MapperScan注解,指定Mapper接口所在包。

UserDetailsService的实现

重构configure(AuthenticationManagerBuilder auth)方法

实现自定义UserDetailsService接口的CustomUserDetailsService类,重写loadUserByUsername方法,从数据库获取用户信息。然后在配置类中重构configure方法,使用自定义的UserDetailsService来认证用户。

测试

启动项目并访问登录页面,使用提供的账号和密码进行测试。

文章结尾鼓励读者关注、点赞、收藏以支持作者,并邀请分享本文。

这个HTML摘要概要地介绍了文章的结构和主要内容,包括Spring Security的动态用户认证实现步骤和测试方式。

想要了解更多内容?

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