提交 d3cf8d62 作者: zgz

专题添加数据权限

上级 697f1fbb
......@@ -180,6 +180,11 @@
</dependency>
<!-- https://mvnrepository.com/artifact/org.fusesource.hawtbuf/hawtbuf -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.18.1</version>
</dependency>
<dependency>
<groupId>org.fusesource.hawtbuf</groupId>
<artifactId>hawtbuf</artifactId>
<version>1.11</version>
......
......@@ -2,7 +2,9 @@ package com.zzsn.event;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableFeignClients
@SpringBootApplication
public class EventAnalysisApplication {
......
......@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
......@@ -142,8 +143,10 @@ public class SubjectManageController {
@GetMapping(("/pageList"))
public Result<?> researchCenterPageList(SubjectCondition subjectCondition,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<SubjectPage> pageList = subjectService.researchCenterPageList(subjectCondition, pageNo, pageSize);
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(required = false) String flagCode,HttpServletRequest request) {
UserVo loginUser = UserUtil.getLoginUser();
Page<SubjectPage> pageList = subjectService.researchCenterPageList(subjectCondition, pageNo, pageSize,flagCode,request,loginUser.getUsername());
return Result.OK(pageList);
}
......@@ -152,6 +155,8 @@ public class SubjectManageController {
*
* @param type 分类(1-个人;2-公开;3-个人+公开)
* @param subjectName 专题名称
* @param environment 环境 1-测试 2-正式
* @param flagCode 数据权限code
* @param pageNo 当前页
* @param pageSize 每页返回条数
* @author lkg
......@@ -161,10 +166,38 @@ public class SubjectManageController {
public Result<?> visiblePageList(@RequestParam Integer type,
@RequestParam(required = false) String subjectName,
@RequestParam(required = false) String environment,
@RequestParam(required = false) String flagCode,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
UserVo loginUser = UserUtil.getLoginUser();
Page<Node> pageList = subjectService.visiblePageList(loginUser.getUsername(), type, subjectName, pageNo, pageSize,environment,request,flagCode);
return Result.OK(pageList);
}
/**
* 当前用户可见的专题列表-研究中心-不验证
*
* @param type 分类(1-个人;2-公开;3-个人+公开)
* @param subjectName 专题名称
* @param environment 环境 1-测试 2-正式
* @param flagCode 数据权限code
* @param pageNo 当前页
* @param pageSize 每页返回条数
* @author lkg
* @date 2025/2/8
*/
@GetMapping("/visiblePageListNoSign")
public Result<?> visiblePageListNoSign(@RequestParam Integer type,
@RequestParam(required = false) String subjectName,
@RequestParam(required = false) String environment,
@RequestParam(required = false) String flagCode,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
UserVo loginUser = UserUtil.getLoginUser();
Page<Node> pageList = subjectService.visiblePageList(loginUser.getUsername(), type, subjectName, pageNo, pageSize,environment);
Page<Node> pageList = subjectService.visiblePageList(loginUser.getUsername(), type, subjectName, pageNo, pageSize,environment,request,flagCode);
return Result.OK(pageList);
}
......
......@@ -777,6 +777,11 @@ public class EsService {
searchSourceBuilder.sort("score", SortOrder.ASC);
}
break;
case "yqgzzk":
searchSourceBuilder.sort("dataFrom", SortOrder.DESC);
searchSourceBuilder.sort("topNum", SortOrder.DESC);
searchSourceBuilder.sort("score", SortOrder.DESC);
break;
default:
searchSourceBuilder.sort("publishDate", SortOrder.DESC);
break;
......
package com.zzsn.event.feign.api;
import com.alibaba.fastjson2.JSONObject;
import feign.RequestLine;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author zgz
* @date 2025/2/18
*/
@FeignClient(name = "data-permit",url = "http://1.95.77.159:10089/permission/")
public interface DataPermitClient {
/**
* 获取数据权限
* @return
*/
@PostMapping(value = "/data/permit/aop/getQueryEntity")
JSONObject getQueryEntity(@RequestParam("queryEntity") JSONObject params, @RequestHeader("Accesstoken")String accesstoken);
}
package com.zzsn.event.feign.api;
import com.alibaba.fastjson2.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author zgz
* @date 2025/2/18
*/
@FeignClient(name = "data-permit",url = "http://1.95.77.159:10089/permission/")
public interface DataPermitClientProd {
/**
* 获取数据权限
* @return
*/
@PostMapping(value = "/data/permit/aop/getQueryEntity")
JSONObject getQueryEntity(@RequestParam("queryEntity") JSONObject params, @RequestHeader("Accesstoken")String accesstoken);
}
......@@ -49,7 +49,7 @@ public interface SubjectMapper extends BaseMapper<Subject> {
* @author lkg
* @date 2025/1/14
*/
Page<SubjectPage> researchCenterFacePageList(@Param("subjectCondition") SubjectCondition subjectCondition, Page<SubjectPage> page);
Page<SubjectPage> researchCenterFacePageList(@Param("subjectCondition") SubjectCondition subjectCondition, Page<SubjectPage> page,@Param("sql") String sql,@Param("username") String username);
/**
* 当前用户可见的专题分页列表(公开和个人非公开)-研究中心
......@@ -61,7 +61,7 @@ public interface SubjectMapper extends BaseMapper<Subject> {
* @author lkg
* @date 2025/2/8
*/
Page<Node> visibleList(@Param("username") String username, @Param("type") Integer type, @Param("subjectName") String subjectName, Page<String> page,@Param("environment") String environment);
Page<Node> visibleList(@Param("username") String username, @Param("type") Integer type, @Param("subjectName") String subjectName, Page<String> page,@Param("environment") String environment,@Param("sql") String sql);
/**
* 获取专题详情(包含样例文章信息)
......
......@@ -135,7 +135,8 @@
from subject d
LEFT JOIN subject_type_map b ON b.subject_id = d.id
LEFT JOIN subject_type c ON b.type_id = c.id
where d.face_public = 1
where
((d.face_public = 1 and d.create_by = #{username}) or (d.face_public = 1 and #{sql}))
<if test="subjectCondition.environment !=null and subjectCondition.environment !=''">
and d.environment =#{subjectCondition.environment}
</if>
......@@ -215,7 +216,7 @@
and face_public = 1
</when>
<otherwise>
and (create_by = #{username} or face_public = 1)
and ((create_by = #{username}) or (face_public = 1 and #{sql}))
</otherwise>
</choose>
</select>
......
package com.zzsn.event.permit;
import java.util.HashMap;
import java.util.Map;
public class Constant {
public static Map<String, String> symbolMap = new HashMap<>();
static {
symbolMap.put("=", "=");
symbolMap.put(">", ">");
symbolMap.put(">=", ">=");
symbolMap.put("<", "<");
symbolMap.put("<=", "<=");
symbolMap.put("!=", "!=");
symbolMap.put("in", "in");
symbolMap.put("isNull", "isNull");
symbolMap.put("between", "between");
symbolMap.put("like", "like");
symbolMap.put("likeLeft", "likeLeft");
symbolMap.put("likeRight", "likeRight");
}
}
package com.zzsn.event.permit;
public enum EnumDBType {
MYSQL, ES;
}
package com.zzsn.event.permit;
import com.alibaba.fastjson2.JSONObject;
import com.zzsn.event.feign.api.DataPermitClient;
import com.zzsn.event.feign.api.DataPermitClientProd;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Aspect
@Component
@Slf4j
public class ParamAop {
@Autowired
private DataPermitClient dataPermitClient;
@Autowired
private DataPermitClientProd dataPermitClientProd;
public UQueryEntity startArs(UQueryEntity queryEntity,String accesstoken,String environment){
JSONObject params = new JSONObject();
params.put("userId", queryEntity.getUserId());
params.put("flagCode", queryEntity.getFlagCode());
params.put("dbType", EnumDBType.MYSQL);
params.put("dataType", EnumDataType.NEWS);
try {
JSONObject jo = new JSONObject();
if(StringUtils.isNotBlank(environment) && environment.equals("2")){
jo = dataPermitClientProd.getQueryEntity(params,accesstoken);
}else{
jo = dataPermitClient.getQueryEntity(params,accesstoken);
}
if (jo!=null) {
if (jo.containsKey("condition")) {
String jSONString = JSONObject.toJSONString(jo.get("condition"));
queryEntity.setSql(SqlConditionUtil.get(JSONObject.parseObject(jSONString)));
}
if (jo.containsKey("fields")) {
queryEntity.setFields(jo.getString("fields"));
}
if (jo.containsKey("shareIds")) {
queryEntity.setShardIds(jo.getJSONArray("shareIds").toJavaList(String.class));
}
}
} catch (Exception ex) {
log.error("{}", ex);
}
return queryEntity;
}
}
package com.zzsn.event.permit;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.io.ClassPathResource;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class SqlConditionUtil {
private static String FLAG_AND = "and";
private static String FLAG_OR = "or";
public static List<String> FLAG_LIST;
final static String[] MUST_CONDTION_FIELDS = new String[]{"name", "value", "condition"};
static {
FLAG_LIST = new ArrayList<>();
FLAG_LIST.add("and");
FLAG_LIST.add("or");
}
public static String getSql(JSONObject jo) {
StringBuilder stringBuilder = new StringBuilder();
setChd(jo, stringBuilder);
return stringBuilder.toString();
}
private static void setChd(JSONObject jo, StringBuilder stringBuilder) {
stringBuilder.append("(");
for (int i = 0; i < jo.getJSONArray("query").size(); i++) {
JSONObject chdJo = (JSONObject) jo.getJSONArray("query").get(i);
if (chdJo.containsKey("flag") && FLAG_LIST.contains(jo.getString("flag").toLowerCase())) {
setChd(chdJo, stringBuilder);
} else {
setCondition(stringBuilder, chdJo);
}
if (i < jo.getJSONArray("query").size() - 1) {
setFlag(stringBuilder, jo.getString("flag").toLowerCase());
}
}
stringBuilder.append(")");
}
private static void setFlag(StringBuilder stringBuilder, String flag) {
stringBuilder.append(" ");
stringBuilder.append(flag);
stringBuilder.append(" ");
}
/***
* 装配查询条件
* @param stringBuilder
* @param jsonObject
*/
private static void setCondition(StringBuilder stringBuilder, JSONObject jsonObject) {
if (jsonObject.containsKey("condition") && "isNull".equals(jsonObject.getString("condition"))) {
stringBuilder.append(jsonObject.getString("name"));
stringBuilder.append(" is null ");
return;
}
for (String field : MUST_CONDTION_FIELDS) {
if (!jsonObject.containsKey(field) || StringUtils.isBlank(jsonObject.getString(field))) {
return;
}
}
try {
String condtion = jsonObject.getString("condition");
if (!Constant.symbolMap.containsKey(condtion)) {
return;
}
String name = jsonObject.getString("name");
Object value = jsonObject.get("value");
boolean isNumber = false;
if (jsonObject.containsKey("dataType") && "number".equals(jsonObject.getString("dataType"))) {
isNumber = true;
}
switch (condtion) {
case "like": {
value = "'%" + jsonObject.get("value").toString() + "%'";
break;
}
case "likeLeft": {
value = "'%" + jsonObject.get("value").toString();
break;
}
case "likeRight": {
value = jsonObject.get("value").toString() + "%'";
break;
}
case "in": {
//数字类型
if (isNumber) {
value = jsonObject.getJSONArray("value").toJSONString().replaceAll("\",\"", ",").replace("[\"", "(").replace("\"]", ")").replace("[", "(").replace("]", ")");
} else {
value = jsonObject.getJSONArray("value").toJSONString().replaceAll("\",\"", "','").replace("[\"", "('").replace("\"]", "')");
}
break;
}
default:
value = isNumber == true ? value : "'" + value + "'";
break;
}
stringBuilder.append(name);
stringBuilder.append(" ");
stringBuilder.append(Constant.symbolMap.get(condtion));
stringBuilder.append(" ");
stringBuilder.append(value);
} catch (
Exception ex) {
log.error("{}", ex);
}
}
public static String get(JSONObject jo) {
String sql = getSql(jo);
if ("()".equals(sql)) {
return null;
} else {
return sql;
}
}
public static void main(String[] ag) {
log.info(JSON.toJSONString(getSql(getData())));
}
public static JSONObject getData() {
try {
//data-数据授权-人物类.json
InputStream inputStream = new ClassPathResource("1.json").getInputStream();
String text = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)).lines().collect(Collectors.joining("\n"));
inputStream.close();
return JSON.parseObject(text);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
package com.zzsn.event.permit;
import lombok.Data;
import org.elasticsearch.index.query.BoolQueryBuilder;
import java.util.List;
@Data
public class UQueryEntity {
private String userId;
private String flagCode;
private String sql;
private String fields;
private List<String> shardIds;
private BoolQueryBuilder queryBuilder;
}
......@@ -7,6 +7,7 @@ import com.zzsn.event.entity.Subject;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
......@@ -37,7 +38,7 @@ public interface SubjectService extends IService<Subject> {
* @author lkg
* @date 2024/12/18
*/
Page<SubjectPage> researchCenterPageList(SubjectCondition subjectCondition, Integer pageNo, Integer pageSize);
Page<SubjectPage> researchCenterPageList(SubjectCondition subjectCondition, Integer pageNo, Integer pageSize,String flagCode,HttpServletRequest request,String username);
/**
* 当前用户可见的专题分页列表-研究中心
......@@ -50,7 +51,7 @@ public interface SubjectService extends IService<Subject> {
* @author lkg
* @date 2025/2/8
*/
Page<Node> visiblePageList(String username, Integer type, String subjectName, Integer pageNo, Integer pageSize,String environment);
Page<Node> visiblePageList(String username, Integer type, String subjectName, Integer pageNo, Integer pageSize, String environment,HttpServletRequest request,String flagCode);
/**
* 获取专题详情(包含样例文章信息)
......
......@@ -209,7 +209,7 @@ public class InformationServiceImpl implements InformationService {
BeanUtils.copyProperties(obj,copy);
num++;
copy.setIndex(num + ".");
copy.setTitle(StringUtils.isNotEmpty(copy.getTitle())?copy.getTitle() + "。":"");
// copy.setTitle(StringUtils.isNotEmpty(copy.getTitle())?copy.getTitle() + "。":"");
listN.add(copy);
}
HashMap map = new HashMap();
......@@ -220,6 +220,10 @@ public class InformationServiceImpl implements InformationService {
}else{
//不加标签获取列表数据
searchCondition.setLabelMark(null);
//中外智库专栏-数据需排序
if(StringUtils.isNotBlank(searchCondition.getSubjectId()) && searchCondition.getSubjectId().equals(subjectId)){
searchCondition.setColumn("yqgzzk");
}
specialInformationIPage = esService.pageListByCondition(searchCondition, subjectIdList);
long totalT = specialInformationIPage.getTotal();
if (totalT > 0) {
......@@ -237,6 +241,7 @@ public class InformationServiceImpl implements InformationService {
List<LabelModelVo> modelVoList = modelMap.get(info.getSubjectId());
formatLabel(modelVoList, info);
info.setIndex(num + ".");
// info.setTitle(StringUtils.isNotEmpty(info.getTitle())?info.getTitle() + "。":"");
dataList.add(info);
}
//中外智库专栏-数据需过滤
......
......@@ -21,11 +21,10 @@ import com.zzsn.event.enums.BindTypeEnum;
import com.zzsn.event.enums.CodePrefixEnum;
import com.zzsn.event.enums.SourceTypeEnum;
import com.zzsn.event.mapper.SubjectMapper;
import com.zzsn.event.permit.ParamAop;
import com.zzsn.event.permit.UQueryEntity;
import com.zzsn.event.service.*;
import com.zzsn.event.util.CodeGenerateUtil;
import com.zzsn.event.util.CronUtil;
import com.zzsn.event.util.HttpUtil;
import com.zzsn.event.util.RedisUtil;
import com.zzsn.event.util.*;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
......@@ -41,6 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.time.LocalDate;
import java.time.ZoneId;
......@@ -104,7 +104,8 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
private InfoSourceGroupService infoSourceGroupService;
@Autowired
private ISubjectInfoSourceMapService iSubjectInfoSourceMapService;
@Autowired
private ParamAop paramAop;
@Value("${python.subjectProcessorUrl}")
private String subjectProcessorUrl;
@Value("${clb.subject.default.processing.advanceMonth}")
......@@ -159,11 +160,28 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
}
@Override
public Page<SubjectPage> researchCenterPageList(SubjectCondition subjectCondition, Integer pageNo, Integer pageSize) {
public Page<SubjectPage> researchCenterPageList(SubjectCondition subjectCondition, Integer pageNo, Integer pageSize,String flagCode,HttpServletRequest request,String username) {
Integer facePublic = subjectCondition.getFacePublic();
Page<SubjectPage> page = new Page<>(pageNo, pageSize);
if (facePublic != null && facePublic == 1) {
page = baseMapper.researchCenterFacePageList(subjectCondition, page);
//公开的添加数据权限-查询拥有权限的公开专题以及个人创建的公开专题
String sql = "";
if(StringUtils.isNotBlank(flagCode)){
String accesstoken = request.getHeader("Accesstoken");
String userId = TokenUtil.verifyToken(accesstoken);
UQueryEntity queryEntity = new UQueryEntity();
queryEntity.setUserId(userId);
queryEntity.setFlagCode(flagCode);
queryEntity = paramAop.startArs(queryEntity,accesstoken,subjectCondition.getEnvironment());
String sqlStr = queryEntity.getSql();
if(sqlStr.contains("()")){
sqlStr = sqlStr.replace("()","(1=2)");
}
sql = sqlStr;
log.info("researchCenterPageList sql:{}",sql);
}
log.info("researchCenterPageList username:{},environment:{},sql:{}",username,subjectCondition.getEnvironment(),sql);
page = baseMapper.researchCenterFacePageList(subjectCondition, page,sql,username);
} else {
//查询类别id的所有明细id
List<String> typeIds = new ArrayList<>();
......@@ -180,9 +198,25 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
}
@Override
public Page<Node> visiblePageList(String username, Integer type, String subjectName, Integer pageNo, Integer pageSize,String environment) {
public Page<Node> visiblePageList(String username, Integer type, String subjectName, Integer pageNo, Integer pageSize, String environment,HttpServletRequest request,String flagCode) {
Page<String> page = new Page<>(pageNo, pageSize);
return baseMapper.visibleList(username, type, subjectName, page,environment);
String sql = "";
if(StringUtils.isNotBlank(flagCode)){
String accesstoken = request.getHeader("Accesstoken");
String userId = TokenUtil.verifyToken(accesstoken);
UQueryEntity queryEntity = new UQueryEntity();
queryEntity.setUserId(userId);
queryEntity.setFlagCode(flagCode);
queryEntity = paramAop.startArs(queryEntity,accesstoken,environment);
String sqlStr = queryEntity.getSql();
if(sqlStr.contains("()")){
sqlStr = sqlStr.replace("()","(1=2)");
}
sql = sqlStr;
log.info("visiblePageList sql:{}",sql);
}
log.info("visiblePageList username:{},type:{},subjectName:{},environment:{},sql:{}",username,type,subjectName,environment,sql);
return baseMapper.visibleList(username, type, subjectName, page,environment,sql);
}
@Override
......
package com.zzsn.event.util;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.Claim;
import com.auth0.jwt.interfaces.DecodedJWT;
import java.util.HashMap;
import java.util.Map;
/**
* token util
*
* @author yanrj 2018-7-17 13:17:11
*
*/
public class TokenUtil {
/**
* createToken
*
* @param userId
* @return
* @throws Exception
*/
public static String createToken(String userId ,String timeStr) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("alg", "HS256");
map.put("typ", "JWT");
map.put("timeStr", timeStr);
String token = JWT.create().withHeader(map)// header
.withClaim("userId", userId)// payload
.withClaim("timeStr", timeStr)// payload
.sign(Algorithm.HMAC256("secret"));
return token;
}
/**
* verifyToken
*
* @param token
* @return
* @throws Exception
*/
public static String verifyToken(String token){
JWTVerifier verifier = JWT.require(Algorithm.HMAC256("secret")).build();
DecodedJWT jwt = verifier.verify(token);
Map<String, Claim> claims = jwt.getClaims();
return claims.get("userId").asString();
}
/**
* get token time String
*
* @param token
* @return
* @throws Exception
*/
public static String getTimeStrToken(String token) throws Exception {
JWTVerifier verifier = JWT.require(Algorithm.HMAC256("secret")).build();
DecodedJWT jwt = verifier.verify(token);
Map<String, Claim> claims = jwt.getClaims();
return claims.get("timeStr").asString();
}
/**
* main
*
* @param args
* @throws Exception
*/
// public static void main(String[] args) throws Exception {
//// Long startTime = System.currentTimeMillis();
// String token = createToken("190","1578276314015");
// System.out.println(token);
//// Long midTime = System.currentTimeMillis();
//// System.out.println(midTime - startTime + "ms");
//// String userId = verifyToken(token);
//// System.out.println(userId);
//// Long endTime = System.currentTimeMillis();
//// System.out.println(endTime - midTime + "ms");
// System.out.println( verifyToken(token) );
// System.out.println( getTimeStrToken(token) );
// }
}
......@@ -159,7 +159,7 @@ python:
clearDuplicateHistoryUrl: http://1.95.13.40:8080/subject/delete_history_data
jeecg:
shiro:
excludeUrls: /info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign
excludeUrls: /info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign,/subject/manage/visiblePageListNoSign
kafka:
topic:
......@@ -183,3 +183,8 @@ caiji:
url: http://1.95.133.166:8823/baseSourceInfo/api/subject/keywordSave
projectCode: zzsn_prod
projectName: 克虏宝正式
data-permit:
dataPermitGetQueryEntityTest: http://1.95.77.159:10089/permission/
dataPermitGetQueryEntityProd: http://1.95.14.24:8060/
......@@ -151,7 +151,7 @@ python:
clearDuplicateHistoryUrl: http://1.95.13.40:8080/subject/delete_history_data
jeecg:
shiro:
excludeUrls:
excludeUrls: /info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign,/subject/manage/visiblePageListNoSign
kafka:
topic:
subject:
......@@ -165,4 +165,8 @@ clb:
subject:
default:
processing:
advanceMonth: 6
\ No newline at end of file
advanceMonth: 6
data-permit:
dataPermitGetQueryEntityTest: http://1.95.77.159:10089/permission/
dataPermitGetQueryEntityProd: http://1.95.14.24:8060/
\ No newline at end of file
......@@ -161,7 +161,7 @@ python:
clearDuplicateHistoryUrl: http://1.95.13.40:8080/subject/delete_history_data
jeecg:
shiro:
excludeUrls: info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign
excludeUrls: info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign,/subject/manage/visiblePageListNoSign
kafka:
topic:
subject:
......@@ -173,3 +173,7 @@ clb:
default:
processing:
advanceMonth: 6
data-permit:
dataPermitGetQueryEntityTest: http://1.95.77.159:10089/permission/
dataPermitGetQueryEntityProd: http://1.95.14.24:8060/
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论