SecurityUtils.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.ruoyi.common.utils;
  2. import cn.hutool.http.HttpStatus;
  3. import com.ruoyi.common.core.domain.entity.SysUser;
  4. import com.ruoyi.common.core.service.UserService;
  5. import com.ruoyi.common.exception.ServiceException;
  6. import com.ruoyi.common.utils.spring.SpringUtils;
  7. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  8. /**
  9. * 安全服务工具类
  10. *
  11. * @author Long Li
  12. */
  13. public class SecurityUtils {
  14. /**
  15. * 获取用户
  16. **/
  17. public static SysUser getUser() {
  18. try {
  19. return SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId());
  20. } catch (Exception e) {
  21. throw new ServiceException("获取用户信息异常", HttpStatus.HTTP_UNAUTHORIZED);
  22. }
  23. }
  24. /**
  25. * 生成BCryptPasswordEncoder密码
  26. *
  27. * @param password 密码
  28. * @return 加密字符串
  29. */
  30. public static String encryptPassword(String password) {
  31. BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
  32. return passwordEncoder.encode(password);
  33. }
  34. /**
  35. * 判断密码是否相同
  36. *
  37. * @param rawPassword 真实密码
  38. * @param encodedPassword 加密后字符
  39. * @return 结果
  40. */
  41. public static boolean matchesPassword(String rawPassword, String encodedPassword) {
  42. BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
  43. return passwordEncoder.matches(rawPassword, encodedPassword);
  44. }
  45. /**
  46. * 是否为管理员
  47. *
  48. * @param userId 用户ID
  49. * @return 结果
  50. */
  51. public static boolean isAdmin(Long userId) {
  52. return userId != null && 1L == userId;
  53. }
  54. }