• 添加依赖
    • 配置spring-security.xml
    1. // service层继承UserDetailsService
    2. public interface UserService extends UserDetailsService {
    3. List<Users> findAll();
    4. void save(Users users);
    5. }
    6. // serviceImpl
    7. // 加密
    8. @Autowired
    9. private BCryptPasswordEncoder bCryptPasswordEncoder;
    10. @Override
    11. public void save(Users users) {
    12. users.setPassword(bCryptPasswordEncoder.encode(users.getPassword()));
    13. userDao.save(users);
    14. }
    15. @Override
    16. public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    17. Users users = userDao.findByUsername(username);
    18. System.out.println(users);
    19. User user=new User(users.getUsername(),users.getPassword(),true, true, true, true,getAuthority(users.getRoles()));
    20. //User user = new User(users.getUsername(),"{noop}"+users.getPassword(),getAuthority(users.getRoles()));
    21. return user;
    22. }
    23. //作用就是返回一个List集合,集合中装入的是角色描述
    24. public List<GrantedAuthority> getAuthority(List<Role> roles) {
    25. List<GrantedAuthority> list = new ArrayList<>();
    26. for (Role role : roles) {
    27. list.add(new SimpleGrantedAuthority("ROLE_" + role.getRoleName().toUpperCase()));
    28. }
    29. return list;
    30. }
    1. public static void main(String[] args) {
    2. BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
    3. System.out.println(bCryptPasswordEncoder.encode("123"));
    4. }//生成加密密码