|
@@ -8,12 +8,12 @@ import cn.hutool.core.util.ObjectUtil;
|
|
import com.ruoyi.common.annotation.DataColumn;
|
|
import com.ruoyi.common.annotation.DataColumn;
|
|
import com.ruoyi.common.annotation.DataPermission;
|
|
import com.ruoyi.common.annotation.DataPermission;
|
|
import com.ruoyi.common.core.domain.entity.SysRole;
|
|
import com.ruoyi.common.core.domain.entity.SysRole;
|
|
-import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
-import com.ruoyi.common.core.service.UserService;
|
|
|
|
|
|
+import com.ruoyi.common.core.domain.model.LoginUser;
|
|
import com.ruoyi.common.enums.DataScopeType;
|
|
import com.ruoyi.common.enums.DataScopeType;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.helper.DataPermissionHelper;
|
|
import com.ruoyi.common.helper.DataPermissionHelper;
|
|
import com.ruoyi.common.helper.LoginHelper;
|
|
import com.ruoyi.common.helper.LoginHelper;
|
|
|
|
+import com.ruoyi.common.utils.SecurityUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -74,13 +74,13 @@ public class PlusDataPermissionHandler {
|
|
inavlidCacheSet.add(mappedStatementId);
|
|
inavlidCacheSet.add(mappedStatementId);
|
|
return where;
|
|
return where;
|
|
}
|
|
}
|
|
- SysUser currentUser = DataPermissionHelper.getVariable("user");
|
|
|
|
|
|
+ LoginUser currentUser = DataPermissionHelper.getVariable("user");
|
|
if (ObjectUtil.isNull(currentUser)) {
|
|
if (ObjectUtil.isNull(currentUser)) {
|
|
- currentUser = SpringUtils.getBean(UserService.class).selectUserById(LoginHelper.getUserId());
|
|
|
|
|
|
+ currentUser = LoginHelper.getLoginUser();
|
|
DataPermissionHelper.setVariable("user", currentUser);
|
|
DataPermissionHelper.setVariable("user", currentUser);
|
|
}
|
|
}
|
|
// 如果是超级管理员,则不过滤数据
|
|
// 如果是超级管理员,则不过滤数据
|
|
- if (ObjectUtil.isNull(currentUser) || currentUser.isAdmin()) {
|
|
|
|
|
|
+ if (ObjectUtil.isNull(currentUser) || SecurityUtils.isAdmin(currentUser.getUserId())) {
|
|
return where;
|
|
return where;
|
|
}
|
|
}
|
|
String dataFilterSql = buildDataFilter(dataColumns, isSelect);
|
|
String dataFilterSql = buildDataFilter(dataColumns, isSelect);
|
|
@@ -108,7 +108,7 @@ public class PlusDataPermissionHandler {
|
|
StringBuilder sqlString = new StringBuilder();
|
|
StringBuilder sqlString = new StringBuilder();
|
|
// 更新或删除需满足所有条件
|
|
// 更新或删除需满足所有条件
|
|
String joinStr = isSelect ? " OR " : " AND ";
|
|
String joinStr = isSelect ? " OR " : " AND ";
|
|
- SysUser user = DataPermissionHelper.getVariable("user");
|
|
|
|
|
|
+ LoginUser user = DataPermissionHelper.getVariable("user");
|
|
StandardEvaluationContext context = new StandardEvaluationContext();
|
|
StandardEvaluationContext context = new StandardEvaluationContext();
|
|
context.setBeanResolver(beanResolver);
|
|
context.setBeanResolver(beanResolver);
|
|
DataPermissionHelper.getContext().forEach(context::setVariable);
|
|
DataPermissionHelper.getContext().forEach(context::setVariable);
|