2020-02-13 10:48:51 +08:00
|
|
|
package com.ruoyi.common.utils;
|
|
|
|
|
2021-12-06 10:59:54 +08:00
|
|
|
import lombok.AccessLevel;
|
|
|
|
import lombok.NoArgsConstructor;
|
2021-09-23 19:13:58 +08:00
|
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
2020-02-13 10:48:51 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 安全服务工具类
|
2021-08-09 09:55:50 +08:00
|
|
|
*
|
2021-09-28 17:55:01 +08:00
|
|
|
* @author Long Li
|
2020-02-13 10:48:51 +08:00
|
|
|
*/
|
2021-12-06 10:59:54 +08:00
|
|
|
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
2021-09-28 17:55:01 +08:00
|
|
|
public class SecurityUtils {
|
2020-02-13 10:48:51 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 生成BCryptPasswordEncoder密码
|
|
|
|
*
|
|
|
|
* @param password 密码
|
|
|
|
* @return 加密字符串
|
|
|
|
*/
|
2021-09-28 17:55:01 +08:00
|
|
|
public static String encryptPassword(String password) {
|
2020-02-13 10:48:51 +08:00
|
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
|
|
return passwordEncoder.encode(password);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 判断密码是否相同
|
|
|
|
*
|
2021-09-28 17:55:01 +08:00
|
|
|
* @param rawPassword 真实密码
|
2020-02-13 10:48:51 +08:00
|
|
|
* @param encodedPassword 加密后字符
|
|
|
|
* @return 结果
|
|
|
|
*/
|
2021-09-28 17:55:01 +08:00
|
|
|
public static boolean matchesPassword(String rawPassword, String encodedPassword) {
|
2020-02-13 10:48:51 +08:00
|
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
|
|
return passwordEncoder.matches(rawPassword, encodedPassword);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否为管理员
|
2021-08-09 09:55:50 +08:00
|
|
|
*
|
2020-02-13 10:48:51 +08:00
|
|
|
* @param userId 用户ID
|
|
|
|
* @return 结果
|
|
|
|
*/
|
2021-09-28 17:55:01 +08:00
|
|
|
public static boolean isAdmin(Long userId) {
|
2020-02-13 10:48:51 +08:00
|
|
|
return userId != null && 1L == userId;
|
|
|
|
}
|
|
|
|
}
|