扫码阅读
手机扫码阅读
Sping Security-3-动态认证用户信息
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
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来认证用户。
测试
启动项目并访问登录页面,使用提供的账号和密码进行测试。
文章结尾鼓励读者关注、点赞、收藏以支持作者,并邀请分享本文。
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
springboot葵花宝典
扫码关注公众号
springboot葵花宝典的其他文章
Redis 数据持久化方案解析:确保数据安全
Redis 作为一种高性能的内存数据库,提供了多种持久化方案来保证数据的持久性和可靠性。本文将深入探讨 Redis 的持久化机制,分析其特点、优缺点以及如何选择适合的持久化方案,旨在帮助读者理解和应用 Redis 的数据持久化功能
云计算-12-Harbor搭建企业级私有镜像仓库
云计算-12-Harbor搭建企业级私有镜像仓库基础环境安装
Vue结合Vuex和Vue-Router进行JWT身份验证
我们将使用 Vuex 和 Vue-Router 构建一个支持前端Vue项目 JWT 身份验证
SpringBoot-16-Spring-Data-Jpa实现分页排序
SpringBoot-16-Spring-Data-Jpa实现分页排序
Spring Security-2-表单认证
Spring Security-2-表单认证
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线