fix安全 去除积木报表依赖,系统中没用

This commit is contained in:
lijiarao
2024-09-12 11:29:15 +08:00
parent 5e274119cb
commit 37c532941e
2 changed files with 14 additions and 65 deletions
+14 -9
View File
@@ -41,16 +41,21 @@
<artifactId>jero-system-local-api</artifactId>
</dependency>
<!-- 积木报表 -->
<!-- <dependency>-->
<!-- <groupId>com.jimureport</groupId>-->
<!-- <artifactId>spring-boot-starter-jimureport</artifactId>-->
<!-- <version>1.2.0</version>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <artifactId>autopoi-web</artifactId>-->
<!-- <groupId>org.jeecgframework</groupId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<dependency>
<groupId>com.jimureport</groupId>
<artifactId>spring-boot-starter-jimureport</artifactId>
<version>1.2.0</version>
<exclusions>
<exclusion>
<artifactId>autopoi-web</artifactId>
<groupId>org.jeecgframework</groupId>
</exclusion>
</exclusions>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.github.stuxuhai</groupId>
@@ -1,56 +0,0 @@
package com.jero.config.jimureport;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.SysUserCacheInfo;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.TokenUtils;
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制)
* * 1.自定义获取登录token
* * 2.自定义获取登录用户
*/
class JimuReportTokenService implements JmReportTokenServiceI {
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
@Lazy
private RedisUtil redisUtil;
@Override
public String getToken(HttpServletRequest request) {
return TokenUtils.getTokenByRequest(request);
}
@Override
public String getUsername(String token) {
return JwtUtil.getUsername(token);
}
@Override
public Boolean verifyToken(String token) {
return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
}
@Override
public Map<String, Object> getUserInfo(String token) {
String username = JwtUtil.getUsername(token);
//此处通过token只能拿到一个信息 用户账号 后面的就是根据账号获取其他信息 查询数据或是走redis 用户根据自身业务可自定义
SysUserCacheInfo userInfo = sysBaseAPI.getCacheUser(username);
Map<String, Object> map = new HashMap<>();
//设置账号名
map.put(SYS_USER_CODE, userInfo.getSysUserCode());
//设置部门编码
map.put(SYS_ORG_CODE, userInfo.getSysOrgCode());
// 将所有信息存放至map 解析sql/api会根据map的键值解析
return map;
}
}