- 添加依赖
- 配置spring-security.xml
// service层继承UserDetailsServicepublic interface UserService extends UserDetailsService { List<Users> findAll(); void save(Users users);}// serviceImpl// 加密@Autowiredprivate BCryptPasswordEncoder bCryptPasswordEncoder;@Overridepublic void save(Users users) { users.setPassword(bCryptPasswordEncoder.encode(users.getPassword())); userDao.save(users);}@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Users users = userDao.findByUsername(username); System.out.println(users); User user=new User(users.getUsername(),users.getPassword(),true, true, true, true,getAuthority(users.getRoles())); //User user = new User(users.getUsername(),"{noop}"+users.getPassword(),getAuthority(users.getRoles())); return user;}//作用就是返回一个List集合,集合中装入的是角色描述public List<GrantedAuthority> getAuthority(List<Role> roles) { List<GrantedAuthority> list = new ArrayList<>(); for (Role role : roles) { list.add(new SimpleGrantedAuthority("ROLE_" + role.getRoleName().toUpperCase())); } return list;}
public static void main(String[] args) { BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); System.out.println(bCryptPasswordEncoder.encode("123"));}//生成加密密码