@Component public class UserDetailsServiceImpl implements UserDetailsService { @Autowired private PasswordEncoder passwordEncoder; @Autowired private UserRepository userRepository; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { /** * 从数据库查:User是我自己写的类,getOne()是mybatis_plus的中的方法 * 就通过用户名查出一个用户 / // 这个要从数据库取出来 User usersByUsername = userRepository.findUsersByUsername(username); if (null == usersByUsername) { throw new UsernameNotFoundException(CodeMsg.ADMIN_USERNAME_NO_EXIST.getMsg()); } /* * 创建一个权限集合,随你放多少 * 最后返回一个org.springframework.security.core.userdetails包下的User * 授权就给完了 * 我这里授权的是USER; */ ArrayList<SimpleGrantedAuthority> arrayList = new ArrayList<>(); arrayList.add(new SimpleGrantedAuthority("ROLE_USER")); return new org.springframework.security.core.userdetails.User(usersByUsername.getUsername(),usersByUsername.getPassword(),arrayList); } }用到了什么技术
时间: 2023-06-24 17:09:13 浏览: 91
详解Springboot2.3集成Spring security 框架(原生集成)
这段代码使用了Spring Security框架,实现了自定义的UserDetailsService接口来查询用户信息,并创建一个包含用户权限的UserDetails对象。同时,还使用了Spring的依赖注入技术(@Autowired注解),以及Mybatis-Plus框架的getOne()方法来查询数据库。
阅读全文