mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-03-11 01:01:09 +08:00
# Conflicts: # pom.xml # ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java # ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java # ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java # ruoyi-common/pom.xml # ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java # ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java # ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java # ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java # ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java # ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java # ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java # ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java # ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java # ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java # ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java # ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java # ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserDetailsServiceImpl.java
66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
package com.ruoyi.common.utils;
|
|
|
|
import cn.hutool.http.HttpStatus;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.service.UserService;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
import lombok.AccessLevel;
|
|
import lombok.NoArgsConstructor;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
|
|
/**
|
|
* 安全服务工具类
|
|
*
|
|
* @author Long Li
|
|
*/
|
|
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
|
public class SecurityUtils {
|
|
|
|
/**
|
|
* 获取用户
|
|
**/
|
|
public static SysUser getUser() {
|
|
try {
|
|
return SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId());
|
|
} catch (Exception e) {
|
|
throw new ServiceException("获取用户信息异常", HttpStatus.HTTP_UNAUTHORIZED);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 生成BCryptPasswordEncoder密码
|
|
*
|
|
* @param password 密码
|
|
* @return 加密字符串
|
|
*/
|
|
public static String encryptPassword(String password) {
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
return passwordEncoder.encode(password);
|
|
}
|
|
|
|
/**
|
|
* 判断密码是否相同
|
|
*
|
|
* @param rawPassword 真实密码
|
|
* @param encodedPassword 加密后字符
|
|
* @return 结果
|
|
*/
|
|
public static boolean matchesPassword(String rawPassword, String encodedPassword) {
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
return passwordEncoder.matches(rawPassword, encodedPassword);
|
|
}
|
|
|
|
/**
|
|
* 是否为管理员
|
|
*
|
|
* @param userId 用户ID
|
|
* @return 结果
|
|
*/
|
|
public static boolean isAdmin(Long userId) {
|
|
return userId != null && 1L == userId;
|
|
}
|
|
}
|