Commit 01cd2faf by 胡懿

加密jar配合修改

parent 33eaad09
...@@ -15,6 +15,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; ...@@ -15,6 +15,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.security.PermitAll;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.io.IOException; import java.io.IOException;
...@@ -109,6 +110,7 @@ public class DesCorporationController { ...@@ -109,6 +110,7 @@ public class DesCorporationController {
return CommonResult.success(str); return CommonResult.success(str);
} }
@PermitAll
@PostMapping("/corporationRuleDesMap") @PostMapping("/corporationRuleDesMap")
@Operation(summary = "法人脱敏") @Operation(summary = "法人脱敏")
public CommonResult<Map<String, Object>> corporationRuleDesMap(@RequestBody Map<String, Object> map) { public CommonResult<Map<String, Object>> corporationRuleDesMap(@RequestBody Map<String, Object> map) {
...@@ -124,6 +126,7 @@ public class DesCorporationController { ...@@ -124,6 +126,7 @@ public class DesCorporationController {
} }
@PermitAll
@PostMapping("/corporationRuleDesListMap") @PostMapping("/corporationRuleDesListMap")
@Operation(summary = "法人批量脱敏") @Operation(summary = "法人批量脱敏")
public CommonResult<List<Map<String, Object>>> corporationRuleDesListMap(@RequestBody List<Map<String, Object>> lisetMap) { public CommonResult<List<Map<String, Object>>> corporationRuleDesListMap(@RequestBody List<Map<String, Object>> lisetMap) {
......
...@@ -12,6 +12,7 @@ import cn.gintone.iotdbUtils.FileIotDbUtil; ...@@ -12,6 +12,7 @@ import cn.gintone.iotdbUtils.FileIotDbUtil;
import cn.gintone.iotdbUtils.SpecialPeopleIotDbUtils; import cn.gintone.iotdbUtils.SpecialPeopleIotDbUtils;
import cn.gintone.service.KeyCodeService; import cn.gintone.service.KeyCodeService;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.service.auth.AdminAuthService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -21,6 +22,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; ...@@ -21,6 +22,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.security.PermitAll;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.io.IOException; import java.io.IOException;
...@@ -31,6 +33,8 @@ import java.util.Map; ...@@ -31,6 +33,8 @@ import java.util.Map;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
...@@ -50,6 +54,9 @@ public class KeyCodeController { ...@@ -50,6 +54,9 @@ public class KeyCodeController {
@Autowired @Autowired
private IotDbConfig iotDbConfig; private IotDbConfig iotDbConfig;
@Resource
private AdminAuthService authService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建公钥私钥管理") @Operation(summary = "创建公钥私钥管理")
@PreAuthorize("@ss.hasPermission('gintone:key-code:create')") @PreAuthorize("@ss.hasPermission('gintone:key-code:create')")
...@@ -110,17 +117,36 @@ public class KeyCodeController { ...@@ -110,17 +117,36 @@ public class KeyCodeController {
return success(keyCodeService.initKey()); return success(keyCodeService.initKey());
} }
@PermitAll
@PostMapping("/rasEncryption") @PostMapping("/rasEncryption")
@Operation(summary = "RAS加密") @Operation(summary = "外部RAS加密")
public CommonResult<EncInfo> rasEncryption(@RequestBody Map<String, Object> requestMap) { public CommonResult<EncInfo> rasEncryption(@RequestBody Map<String, Object> requestMap) {
EncInfo encInfo = keyCodeService.rasEncryption(requestMap); EncInfo encInfo = keyCodeService.rasEncryption(requestMap);
return success(encInfo); return success(encInfo);
} }
@PermitAll
@PostMapping("/rasDecrypt") @PostMapping("/rasDecrypt")
@Operation(summary = "RAS解密") @Operation(summary = "外部RAS解密")
public CommonResult<Map<String, Object>> rasDecrypt(@RequestBody EncInfo encInfo) { public CommonResult<Map<String, Object>> rasDecrypt(@RequestBody EncInfo encInfo, HttpServletRequest request) {
Map<String, Object> map = keyCodeService.rasDecrypt(encInfo); String pdToken = request.getHeader("pdToken");
String ip = request.getHeader("X-Forwarded-For");
if (isInvalidIp(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (isInvalidIp(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (isInvalidIp(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (isInvalidIp(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (isInvalidIp(ip)) {
ip = request.getRemoteAddr();
}
Map<String, Object> map = keyCodeService.rasDecrypt(encInfo, ip, pdToken, true);
return success(map); return success(map);
} }
@PostMapping("/smTwoEncryption") @PostMapping("/smTwoEncryption")
...@@ -133,6 +159,7 @@ public class KeyCodeController { ...@@ -133,6 +159,7 @@ public class KeyCodeController {
@PostMapping("/smTwoDecrypt") @PostMapping("/smTwoDecrypt")
@Operation(summary = "sm2解密") @Operation(summary = "sm2解密")
public CommonResult<Map<String, Object>> smTwoDecrypt(@RequestBody EncInfo encInfo, HttpServletRequest request) { public CommonResult<Map<String, Object>> smTwoDecrypt(@RequestBody EncInfo encInfo, HttpServletRequest request) {
String pdToken = request.getHeader("pdToken");
String ip = request.getHeader("X-Forwarded-For"); String ip = request.getHeader("X-Forwarded-For");
if (isInvalidIp(ip)) { if (isInvalidIp(ip)) {
ip = request.getHeader("Proxy-Client-IP"); ip = request.getHeader("Proxy-Client-IP");
...@@ -159,7 +186,7 @@ public class KeyCodeController { ...@@ -159,7 +186,7 @@ public class KeyCodeController {
.orElse(request.getRemoteAddr()); .orElse(request.getRemoteAddr());
} }
Map<String, Object> map = keyCodeService.smTwoDecrypt(encInfo, ip); Map<String, Object> map = keyCodeService.smTwoDecrypt(encInfo, ip, pdToken);
return success(map); return success(map);
} }
......
...@@ -48,6 +48,7 @@ public class MyFileController { ...@@ -48,6 +48,7 @@ public class MyFileController {
@PostMapping("/fileRasDecrypt") @PostMapping("/fileRasDecrypt")
@Operation(summary = "文件解密接口") @Operation(summary = "文件解密接口")
public CommonResult<Map<String, Object>> rasDecrypt(@RequestBody ImportantFileSaveReqVO createReqVO, HttpServletRequest request) throws Exception { public CommonResult<Map<String, Object>> rasDecrypt(@RequestBody ImportantFileSaveReqVO createReqVO, HttpServletRequest request) throws Exception {
String pdToken = request.getHeader("pdToken");
String ip = request.getHeader("X-Forwarded-For"); String ip = request.getHeader("X-Forwarded-For");
if (isInvalidIp(ip)) { if (isInvalidIp(ip)) {
ip = request.getHeader("Proxy-Client-IP"); ip = request.getHeader("Proxy-Client-IP");
...@@ -73,7 +74,7 @@ public class MyFileController { ...@@ -73,7 +74,7 @@ public class MyFileController {
.findFirst() .findFirst()
.orElse(request.getRemoteAddr()); .orElse(request.getRemoteAddr());
} }
Map<String, Object> map = keyCodeService.fileRasDecrypt(createReqVO, ip); Map<String, Object> map = keyCodeService.fileRasDecrypt(createReqVO, ip, pdToken);
return success(map); return success(map);
} }
......
...@@ -14,6 +14,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; ...@@ -14,6 +14,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.security.PermitAll;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.io.IOException; import java.io.IOException;
...@@ -102,7 +103,7 @@ public class UserDesRuleController { ...@@ -102,7 +103,7 @@ public class UserDesRuleController {
return success(userDesRuleService.checkName(name, id)); return success(userDesRuleService.checkName(name, id));
} }
@PermitAll
@PostMapping("/userRuleDes") @PostMapping("/userRuleDes")
@Operation(summary = "人员脱敏") @Operation(summary = "人员脱敏")
public CommonResult<String> userRuleDes(@RequestBody DesInfo desInfo) { public CommonResult<String> userRuleDes(@RequestBody DesInfo desInfo) {
...@@ -110,13 +111,14 @@ public class UserDesRuleController { ...@@ -110,13 +111,14 @@ public class UserDesRuleController {
return CommonResult.success(str); return CommonResult.success(str);
} }
@PermitAll
@PostMapping("/userRuleDesMap") @PostMapping("/userRuleDesMap")
@Operation(summary = "人员脱敏") @Operation(summary = "人员脱敏")
public CommonResult<Map<String, Object>> userRuleDesMap(@RequestBody Map<String, Object> map) { public CommonResult<Map<String, Object>> userRuleDesMap(@RequestBody Map<String, Object> map) {
Map<String, Object> resultMap = userDesRuleService.userRuleDesMap(map); Map<String, Object> resultMap = userDesRuleService.userRuleDesMap(map);
return CommonResult.success(resultMap); return CommonResult.success(resultMap);
} }
@PermitAll
@PostMapping("/userRuleDesList") @PostMapping("/userRuleDesList")
@Operation(summary = "人员批量脱敏") @Operation(summary = "人员批量脱敏")
public CommonResult<String> userRuleDesList(@RequestBody DesInfo desInfo) { public CommonResult<String> userRuleDesList(@RequestBody DesInfo desInfo) {
...@@ -124,7 +126,7 @@ public class UserDesRuleController { ...@@ -124,7 +126,7 @@ public class UserDesRuleController {
return CommonResult.success(str); return CommonResult.success(str);
} }
@PermitAll
@PostMapping("/userRuleDesListMap") @PostMapping("/userRuleDesListMap")
@Operation(summary = "人员批量脱敏") @Operation(summary = "人员批量脱敏")
public CommonResult<List<Map<String, Object>>> userRuleDesListMap(@RequestBody List<Map<String, Object>> lisetMap) { public CommonResult<List<Map<String, Object>>> userRuleDesListMap(@RequestBody List<Map<String, Object>> lisetMap) {
......
...@@ -4,10 +4,7 @@ import cn.gintone.config.IotDbConfig; ...@@ -4,10 +4,7 @@ import cn.gintone.config.IotDbConfig;
import cn.gintone.dto.WebIllLogInfo; import cn.gintone.dto.WebIllLogInfo;
import cn.gintone.dto.WebLogInfo; import cn.gintone.dto.WebLogInfo;
import cn.gintone.dto.WebLogInfoVo; import cn.gintone.dto.WebLogInfoVo;
import cn.gintone.iotdbUtils.FileIotDbUtil; import cn.gintone.iotdbUtils.*;
import cn.gintone.iotdbUtils.MyDateUtils;
import cn.gintone.iotdbUtils.MyIotDbUtils;
import cn.gintone.iotdbUtils.SpecialPeopleIotDbUtils;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
...@@ -61,6 +58,13 @@ public class WebLogInfoController { ...@@ -61,6 +58,13 @@ public class WebLogInfoController {
return CommonResult.success("初始化成功"); return CommonResult.success("初始化成功");
} }
@PostMapping("/initJarDecLogIotDBTable")
@Operation(summary = "初始化jar加密时间序列")
public CommonResult<String> initJarDecLogIotDBTable() {
JarDecLogIotDbUtil.createJarDecLogInfoTimeseries(iotDbConfig);
return CommonResult.success("初始化成功");
}
@PostMapping("/saveWebLogInfo") @PostMapping("/saveWebLogInfo")
@Operation(summary = "外部性请求保存日志") @Operation(summary = "外部性请求保存日志")
public CommonResult<String> saveWebLogInfo(@RequestBody WebLogInfo webLogInfo) { public CommonResult<String> saveWebLogInfo(@RequestBody WebLogInfo webLogInfo) {
......
package cn.gintone.dto;
/**
* 外部jar解密记录
*/
public class JarDecLogInfo {
private Long timesta;
private String timestaStr;
private String sysAbbre; // 系统简称
private String content; // 解密内容
private String privateKey; // 私钥
private String clientIp; // 访问端ip
private String userId; // 用户id
private String username; // 用户名
private String type; // 解密方式
private Long beginTime;
private Long endTime;
private Integer pageSize;
private Integer pageNum;
public Long getTimesta() {
return timesta;
}
public void setTimesta(Long timesta) {
this.timesta = timesta;
}
public String getTimestaStr() {
return timestaStr;
}
public void setTimestaStr(String timestaStr) {
this.timestaStr = timestaStr;
}
public String getSysAbbre() {
return sysAbbre;
}
public void setSysAbbre(String sysAbbre) {
this.sysAbbre = sysAbbre;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getPrivateKey() {
return privateKey;
}
public void setPrivateKey(String privateKey) {
this.privateKey = privateKey;
}
public String getClientIp() {
return clientIp;
}
public void setClientIp(String clientIp) {
this.clientIp = clientIp;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Long getBeginTime() {
return beginTime;
}
public void setBeginTime(Long beginTime) {
this.beginTime = beginTime;
}
public Long getEndTime() {
return endTime;
}
public void setEndTime(Long endTime) {
this.endTime = endTime;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
@Override
public String toString() {
return "JarDecLogInfo{" +
"timesta=" + timesta +
", timestaStr='" + timestaStr + '\'' +
", sysAbbre='" + sysAbbre + '\'' +
", content='" + content + '\'' +
", privateKey='" + privateKey + '\'' +
", clientIp='" + clientIp + '\'' +
", userId='" + userId + '\'' +
", username='" + username + '\'' +
", type='" + type + '\'' +
", beginTime=" + beginTime +
", endTime=" + endTime +
", pageSize=" + pageSize +
", pageNum=" + pageNum +
'}';
}
}
...@@ -73,7 +73,7 @@ public interface KeyCodeService { ...@@ -73,7 +73,7 @@ public interface KeyCodeService {
* @param encInfo * @param encInfo
* @return * @return
*/ */
Map<String, Object> rasDecrypt(EncInfo encInfo); Map<String, Object> rasDecrypt(EncInfo encInfo, String clientIp, String pdToken, boolean isWai);
/** /**
* 使用sm2加密 * 使用sm2加密
...@@ -87,12 +87,14 @@ public interface KeyCodeService { ...@@ -87,12 +87,14 @@ public interface KeyCodeService {
* @param encInfo * @param encInfo
* @return * @return
*/ */
Map<String, Object> smTwoDecrypt(EncInfo encInfo, String clientIp); Map<String, Object> smTwoDecrypt(EncInfo encInfo, String clientIp, String pdToken);
/** /**
* 文件解密接口 * 文件解密接口
* @param encInfo * @param encInfo
* @return * @return
*/ */
Map<String, Object> fileRasDecrypt(ImportantFileSaveReqVO fileSaveReqVO, String clientIp); Map<String, Object> fileRasDecrypt(ImportantFileSaveReqVO fileSaveReqVO, String clientIp, String pdToken);
KeyCodeDO getByType(Integer type);
} }
\ No newline at end of file
...@@ -8,10 +8,12 @@ import cn.gintone.controller.vo.KeyCodeSaveReqVO; ...@@ -8,10 +8,12 @@ import cn.gintone.controller.vo.KeyCodeSaveReqVO;
import cn.gintone.dal.KeyCodeMapper; import cn.gintone.dal.KeyCodeMapper;
import cn.gintone.dto.EncInfo; import cn.gintone.dto.EncInfo;
import cn.gintone.dto.FileDecLogInfo; import cn.gintone.dto.FileDecLogInfo;
import cn.gintone.dto.JarDecLogInfo;
import cn.gintone.dto.SpePeoLogInfo; import cn.gintone.dto.SpePeoLogInfo;
import cn.gintone.encryptionUtils.*; import cn.gintone.encryptionUtils.*;
import cn.gintone.entity.KeyCodeDO; import cn.gintone.entity.KeyCodeDO;
import cn.gintone.iotdbUtils.FileIotDbUtil; import cn.gintone.iotdbUtils.FileIotDbUtil;
import cn.gintone.iotdbUtils.JarDecLogIotDbUtil;
import cn.gintone.iotdbUtils.SpecialPeopleIotDbUtils; import cn.gintone.iotdbUtils.SpecialPeopleIotDbUtils;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
...@@ -154,9 +156,14 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -154,9 +156,14 @@ public class KeyCodeServiceImpl implements KeyCodeService {
} }
@Override @Override
public Map<String, Object> rasDecrypt(EncInfo encInfo) { public Map<String, Object> rasDecrypt(EncInfo encInfo, String clientIp, String pdToken, boolean isWai) {
try { try {
PrivateKey privateKey = SecureHybridDecryptor.loadPrivateKey(encInfo.getPrivateKey()); PrivateKey pteKey = null;
if (!isWai) {
pteKey = SecureHybridDecryptor.loadPrivateKey(encInfo.getPrivateKey());
} else {
pteKey = SecureHybridDecryptor.loadPrivateKey(encInfo.getPrivateKey());
}
// 解密 // 解密
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
Map<String, Object> infoMap = encInfo.getInfo(); Map<String, Object> infoMap = encInfo.getInfo();
...@@ -164,9 +171,24 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -164,9 +171,24 @@ public class KeyCodeServiceImpl implements KeyCodeService {
for (Map.Entry<String, Object> entry : entries) { for (Map.Entry<String, Object> entry : entries) {
String key = entry.getKey(); String key = entry.getKey();
String info = entry.getValue().toString(); String info = entry.getValue().toString();
String decrypted = SecureHybridDecryptor.decrypt(info, privateKey); String decrypted = SecureHybridDecryptor.decrypt(info, pteKey);
resultMap.put(key, decrypted); resultMap.put(key, decrypted);
} }
if (isWai) {
AdminUserDO user = authService.getPdUserByToken(pdToken);
JarDecLogInfo jarDecLogInfo = new JarDecLogInfo();
jarDecLogInfo.setClientIp(clientIp);
jarDecLogInfo.setSysAbbre(encInfo.getSysAbbre());
jarDecLogInfo.setContent(JSON.toJSONString(infoMap));
jarDecLogInfo.setPrivateKey(encInfo.getPrivateKey());
jarDecLogInfo.setUserId(user.getId() + "");
jarDecLogInfo.setUsername(user.getUsername());
jarDecLogInfo.setType("ras");
JarDecLogIotDbUtil.inserOne(iotDbConfig, jarDecLogInfo);
}
return resultMap; return resultMap;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -202,7 +224,7 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -202,7 +224,7 @@ public class KeyCodeServiceImpl implements KeyCodeService {
} }
@Override @Override
public Map<String, Object> smTwoDecrypt(EncInfo encInfo, String clientIp) { public Map<String, Object> smTwoDecrypt(EncInfo encInfo, String clientIp, String pdToken) {
try { try {
PrivateKey privateKey = SM2KeyUtils.stringToPrivateKey(encInfo.getPrivateKey()); PrivateKey privateKey = SM2KeyUtils.stringToPrivateKey(encInfo.getPrivateKey());
// 解密 // 解密
...@@ -218,8 +240,7 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -218,8 +240,7 @@ public class KeyCodeServiceImpl implements KeyCodeService {
resultMap.put(key, decrypted); resultMap.put(key, decrypted);
} }
AdminUserDO user = authService.getPdUserByToken("123"); AdminUserDO user = authService.getPdUserByToken(pdToken);
SpePeoLogInfo spePeoLogInfo = new SpePeoLogInfo(); SpePeoLogInfo spePeoLogInfo = new SpePeoLogInfo();
spePeoLogInfo.setClientIp(clientIp); spePeoLogInfo.setClientIp(clientIp);
spePeoLogInfo.setSysAbbre(encInfo.getSysAbbre()); spePeoLogInfo.setSysAbbre(encInfo.getSysAbbre());
...@@ -235,16 +256,15 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -235,16 +256,15 @@ public class KeyCodeServiceImpl implements KeyCodeService {
} }
@Override @Override
public Map<String, Object> fileRasDecrypt(ImportantFileSaveReqVO saveReqVO, String clientIp) { public Map<String, Object> fileRasDecrypt(ImportantFileSaveReqVO saveReqVO, String clientIp, String pdToken) {
EncInfo encInfo = new EncInfo(); EncInfo encInfo = new EncInfo();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("url", saveReqVO.getUrl()); map.put("url", saveReqVO.getUrl());
encInfo.setInfo(map); encInfo.setInfo(map);
encInfo.setPrivateKey(saveReqVO.getPrivateKey()); encInfo.setPrivateKey(saveReqVO.getPrivateKey());
Map<String, Object> resultMap = rasDecrypt(encInfo); Map<String, Object> resultMap = rasDecrypt(encInfo, clientIp, pdToken, false);
AdminUserDO user = authService.getPdUserByToken("123");
AdminUserDO user = authService.getPdUserByToken(pdToken);
FileDecLogInfo fileDecLogInfo = new FileDecLogInfo(); FileDecLogInfo fileDecLogInfo = new FileDecLogInfo();
fileDecLogInfo.setClientIp(clientIp); fileDecLogInfo.setClientIp(clientIp);
fileDecLogInfo.setSysAbbre("sec"); fileDecLogInfo.setSysAbbre("sec");
...@@ -258,4 +278,10 @@ public class KeyCodeServiceImpl implements KeyCodeService { ...@@ -258,4 +278,10 @@ public class KeyCodeServiceImpl implements KeyCodeService {
return resultMap; return resultMap;
} }
@Override
public KeyCodeDO getByType(Integer type) {
KeyCodeDO keyCodeDO = keyCodeMapper.selectOne(new QueryWrapper<KeyCodeDO>().lambda().eq(KeyCodeDO::getType, type));
return keyCodeDO;
}
} }
\ No newline at end of file
...@@ -130,7 +130,6 @@ public class YudaoWebSecurityConfigurerAdapter { ...@@ -130,7 +130,6 @@ public class YudaoWebSecurityConfigurerAdapter {
.authorizeHttpRequests(c -> c .authorizeHttpRequests(c -> c
// 1.1 静态资源,可匿名访问 // 1.1 静态资源,可匿名访问
.requestMatchers(HttpMethod.GET, "/*.html", "/*.css", "/*.js").permitAll() .requestMatchers(HttpMethod.GET, "/*.html", "/*.css", "/*.js").permitAll()
.requestMatchers(HttpMethod.GET, "/admin-api/pdTokenCheck/**").permitAll()
// 1.2 设置 @PermitAll 无需认证 // 1.2 设置 @PermitAll 无需认证
.requestMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll() .requestMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll()
.requestMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll() .requestMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()
......
...@@ -74,7 +74,7 @@ public class AuthController { ...@@ -74,7 +74,7 @@ public class AuthController {
@Operation(summary = "验证平台token") @Operation(summary = "验证平台token")
public CommonResult<Boolean> checkPdToken(String pdToken) { public CommonResult<Boolean> checkPdToken(String pdToken) {
if (null != pdToken && !"".equals(pdToken)) { if (null != pdToken && !"".equals(pdToken)) {
return CommonResult.success(true); return CommonResult.success(authService.checkPdToken(pdToken));
} }
return CommonResult.success(false); return CommonResult.success(false);
......
...@@ -91,4 +91,6 @@ public interface AdminAuthService { ...@@ -91,4 +91,6 @@ public interface AdminAuthService {
* @return * @return
*/ */
public AdminUserDO getPdUserByToken(String token); public AdminUserDO getPdUserByToken(String token);
boolean checkPdToken(String pdToken);
} }
...@@ -307,7 +307,21 @@ public class AdminAuthServiceImpl implements AdminAuthService { ...@@ -307,7 +307,21 @@ public class AdminAuthServiceImpl implements AdminAuthService {
@Override @Override
public AdminUserDO getPdUserByToken(String token) { public AdminUserDO getPdUserByToken(String token) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
if (null == loginUser) {
AdminUserDO user = new AdminUserDO();
user.setId(-1l);
user.setUsername("非法用户");
return user;
}
AdminUserDO user = userService.getUserById(loginUser.getId()); AdminUserDO user = userService.getUserById(loginUser.getId());
return user; return user;
} }
@Override
public boolean checkPdToken(String pdToken) {
if (null != pdToken && !"".equals(pdToken)) {
return true;
}
return false;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment