升级积木报表1.6.2-GA,解决严重SQL漏洞

pull/5401/head
zhangdaiscott 2023-09-11 22:45:22 +08:00
parent 473875a9d2
commit 56e81fbf7b
5 changed files with 38 additions and 27 deletions

View File

@ -10,10 +10,12 @@ import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* () * ()
@ -42,6 +44,16 @@ public class JimuReportTokenService implements JmReportTokenServiceI {
return JwtUtil.getUsername(token); return JwtUtil.getUsername(token);
} }
@Override
public String[] getRoles(String token) {
String username = JwtUtil.getUsername(token);
Set roles = sysBaseApi.getUserRoleSet(username);
if(CollectionUtils.isEmpty(roles)){
return null;
}
return (String[]) roles.toArray(new String[roles.size()]);
}
@Override @Override
public Boolean verifyToken(String token) { public Boolean verifyToken(String token) {
return TokenUtils.verifyToken(token, sysBaseApi, redisUtil); return TokenUtils.verifyToken(token, sysBaseApi, redisUtil);

View File

@ -207,9 +207,14 @@ jeecg:
bucketName: otatest bucketName: otatest
#大屏报表参数设置 #大屏报表参数设置
jmreport: jmreport:
mode: dev #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
#数据字典是否进行saas数据隔离自己看自己的字典 saasMode:
saas: false # 平台上线安全配置(v1.6.2+ 新增)
firewall:
# 数据源安全 (开启后不允许使用平台数据源、SQL解析加签并且不允许查询数据库)
dataSourceSafe: false
# 低代码开发模式dev:开发模式prod:发布模式—关闭在线报表设计功能分配角色admin、lowdeveloper可以放开限制
lowCodeMode: dev
#xxl-job配置 #xxl-job配置
xxljob: xxljob:
enabled: false enabled: false

View File

@ -208,17 +208,14 @@ jeecg:
bucketName: otatest bucketName: otatest
#大屏报表参数设置 #大屏报表参数设置
jmreport: jmreport:
mode: prod #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
#数据字典是否进行saas数据隔离自己看自己的字典 saasMode: created
saas: false # 平台上线安全配置(v1.6.2+ 新增)
#是否开启租户模式 Support By v1.5.5+ firewall:
openTenant: false # 数据源安全 (开启后不允许使用平台数据源、SQL解析加签并且不允许查询数据库)
#安全模式(敏感接口校验、saas模式下不允许使用平台数据源) dataSourceSafe: true
#safeMode: true # 低代码开发模式dev:开发模式prod:发布模式—关闭在线报表设计功能分配角色admin、lowdeveloper可以放开限制
#是否需要校验token lowCodeMode: prod
is_verify_token: true
#必须校验方法
verify_methods: remove,delete,save,add,update
#xxl-job配置 #xxl-job配置
xxljob: xxljob:
enabled: false enabled: false

View File

@ -208,17 +208,14 @@ jeecg:
bucketName: ?? bucketName: ??
#大屏报表参数设置 #大屏报表参数设置
jmreport: jmreport:
mode: prod #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
#数据字典是否进行saas数据隔离自己看自己的字典 saasMode: created
saas: false # 平台上线安全配置(v1.6.2+ 新增)
#是否开启租户模式 Support By v1.5.5+ firewall:
openTenant: false # 数据源安全 (开启后不允许使用平台数据源、SQL解析加签并且不允许查询数据库)
#安全模式(敏感接口校验、saas模式下不允许使用平台数据源) dataSourceSafe: true
#safeMode: true # 低代码开发模式dev:开发模式prod:发布模式—关闭在线报表设计功能分配角色admin、lowdeveloper可以放开限制
#是否需要校验token lowCodeMode: prod
is_verify_token: false
#必须校验方法
verify_methods: remove,delete,save,add,update
#xxl-job配置 #xxl-job配置
xxljob: xxljob:
enabled: false enabled: false

View File

@ -52,10 +52,10 @@
<mybatis-plus.version>3.5.3</mybatis-plus.version> <mybatis-plus.version>3.5.3</mybatis-plus.version>
<dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version> <dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version>
<druid.version>1.2.15</druid.version> <druid.version>1.2.15</druid.version>
<minidao.version>1.9.2</minidao.version> <minidao.version>1.9.3</minidao.version>
<!-- 积木报表--> <!-- 积木报表-->
<jimureport-spring-boot-starter.version>1.6.1</jimureport-spring-boot-starter.version> <jimureport-spring-boot-starter.version>1.6.2-GA</jimureport-spring-boot-starter.version>
<commons.version>2.6</commons.version> <commons.version>2.6</commons.version>
<aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version> <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version>
<aliyun.oss.version>3.11.2</aliyun.oss.version> <aliyun.oss.version>3.11.2</aliyun.oss.version>