当前位置:首页 >> 半导体技术突破 >> 【Spring Security】UserDetailsService 接口介绍,泡泡手机网

【Spring Security】UserDetailsService 接口介绍,泡泡手机网

cpugpu芯片开发光刻机 半导体技术突破 2
文件名:【Spring Security】UserDetailsService 接口介绍,泡泡手机网 【Spring Security】UserDetailsService 接口介绍

文章目录 UserDetailsService 介绍UserDetailsService 具体操作UserDetailsService 方法介绍

UserDetailsService 介绍

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
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接