RuoYi-Vue-Plus 解决项目内部时登录用户需要脱敏属性不在脱敏
SysSensitiveServiceImpl
原内容
/**
* 脱敏服务
* 默认管理员不过滤
* 需自行根据业务重写实现
*
* @author Lion Li
* @version 3.6.0
*/
@Service
public class SysSensitiveServiceImpl implements SensitiveService {
/**
* 是否脱敏
*/
@Override
public boolean isSensitive() {
return !LoginHelper.isAdmin();
}
}
修改为
/**
* 脱敏服务
* 默认管理员不过滤
* 需自行根据业务重写实现
*
* @author Lion Li
* @version 3.6.0
*/
@Service
public class SysSensitiveServiceImpl implements SensitiveService {
private final String CLASS_NAME = "com.ruoyi.common.helper.LoginHelper";
private final String METHOD_NAME = "setLoginUser";
/**
* 是否脱敏
*/
@Override
public boolean isSensitive() {
//如果是对登录用户数据进行序列化操作(用于后续项目内部打印日志时,请求用户手机号完整)则不需要脱敏处理
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement traceElement : stackTrace) {
String className = traceElement.getClassName();
String methodName = traceElement.getMethodName();
if(CLASS_NAME.equals(className) && METHOD_NAME.equals(methodName)){
return false;
}
}
return !LoginHelper.isAdmin();
}
}