UserDetailsService 在 Spring Security 中主要承担查询系统内用户、验证密码、封装用户信息和角色权限。大白话就是你写一个实现类实现 UserDetailsService 接口,在这个实现类中去查询数据库中的用户,并封装成一个实现了 UserDetails 接口的实体类模型。
UserDetailsService 具体操作 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.security.mysql.dao.UserDao;import com.security.mysql.entity.UserEntity;import com.security.user.UserDetailsInfo;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.security.core.userdetails.UserDetails;import org.springframework.security.core.userdetails.UserDetailsService;import org.springframework.security.core.userdetails.UsernameNotFoundException;import org.springframework.stereotype.Component;@Component@Slf4jpublic class UserDetailsServiceImpl implements UserDetailsService {// TODO 这里改成你自己的服务或者Dao查询@Autowiredprivate UserDao userDao;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {log.info("进入 loadUserByUsername ...");// TODO 查询系统内的用户LambdaQueryWrapper<UserEntity> wrapper = new LambdaQueryWrapper<>();wrapper.eq(UserEntity::getUsername, username);UserEntity userEntity = userDao.selectOne(wrapper);if (userEntity == null) {// 未查询到用户throw new RuntimeException("not find user");}// TODO 封装成实现了 UserDetails 接口的实体类模型return UserDetailsInfo.builder().id(userEntity.getId()).username(userEntity.getUsername()).password(userEntity.getPassword()).build();}} UserDetailsService 方法介绍 方法名作用UserDetails loadUserByUsername(String username)根据用户名加载用户信息 End【Spring Security】UserDetailsService 接口介绍,泡泡手机网
cpugpu芯片开发光刻机
半导体技术突破
3
文件名:【Spring Security】UserDetailsService 接口介绍,泡泡手机网
【Spring Security】UserDetailsService 接口介绍
文章目录 UserDetailsService 介绍UserDetailsService 具体操作UserDetailsService 方法介绍 UserDetailsService 介绍
同类推荐
-

【PTA刷题】 顺序表(删除)(代码+详解),libfetion
查看 -

【QML】警告Name is declared more than once,节操手机
查看 -

【QT 网络云盘客户端】——登录界面功能的实现,三星s5820怎么样
查看 -

【QT开发(17)】2023-QT 5.14.2实现Android开发,谷歌音乐搜索
查看 -

【Qt之QString】去除“字符“或替换“字符“小技巧,3g泡泡
查看 -

【Qt开发】QTableWidget设置根据内容调整列宽和行高,步步高手机(qt的tablewidget控件如何设置列宽可调整)
查看 -

【Qt开发流程】之UI风格、预览及QPalette使用,x61
查看 -

【RK3399Pro学习笔记】五、ROS与USB摄像头,三星st550(三星sdn550摄像头怎么接电脑)
查看 -

【RPC】gRPC 安装及使用,heyjuliet
查看