提交 11a83a6c 编写于 作者: minghao.wu's avatar minghao.wu

fix: 去除token的校验

上级 4d1d73d6
流水线 #30915 已通过 于阶段
in 4 minute 和 18 second
......@@ -109,7 +109,7 @@
<dependency>
<groupId>com.pica.cloud.foundation</groupId>
<artifactId>pica-cloud-redis</artifactId>
<version>1.3.2</version>
<version>1.2.6-SNAPSHOT</version>
</dependency>
<dependency>
......
package com.pica.cloud.online.exam.analysis.server.client;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @author wuminghao
* @date 2018/9/30 10:01
*/
@FeignClient(value="10901-PICA-CLOUD-ONLINEEXAM")
public interface IOnlineExamServiceClient {
/**
* 调用
* @param onlineExamId
* @param sysCode
* @param token
* @return
*/
@RequestMapping(value="/onlineexam/getExamStatus", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
String getExamStatus(@RequestParam(value = "onlineExamId") Integer onlineExamId,
@RequestParam(value = "code") Integer code,
@RequestHeader(value = "sysCode") String sysCode,
@RequestHeader(value = "token") String token);
}
package com.pica.cloud.online.exam.analysis.server.client.impl;
import com.pica.cloud.online.exam.analysis.server.client.IOnlineExamServiceClient;
import org.springframework.stereotype.Component;
/**
* @author wuminghao
* @date 2018/9/30 10:22
*/
@Component
public class OnlineExamServiceClient implements IOnlineExamServiceClient {
@Override
public String getExamStatus(Integer onlineExamId, Integer code, String sysCode, String token) {
return "";
}
}
......@@ -11,6 +11,7 @@ import com.pica.cloud.online.exam.analysis.common.util.ReturnUtil;
import com.pica.cloud.online.exam.analysis.server.configuration.SpringContextAware;
import com.pica.cloud.online.exam.analysis.server.constants.RedisKey;
import com.pica.cloud.online.exam.analysis.server.service.AntiSpamService;
import com.pica.cloud.online.exam.analysis.server.utils.LoginUtil;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
......@@ -31,7 +32,10 @@ public class AntiSpamController extends BaseController {
private SpringContextAware springContextAware;
@Autowired
AntiSpamService antiSpamService;
private AntiSpamService antiSpamService;
@Autowired
private LoginUtil loginUtil;
@LoginPermission
@ApiOperation(value = "内容检测", response = PicaResponse.class)
......@@ -47,14 +51,14 @@ public class AntiSpamController extends BaseController {
}
}
PicaUser user = fetchPicaUser();
PicaUser user = loginUtil.getCurrentUser();
Pair<String, Integer> params;
try {
params = parseContentAndType(content);
} catch (Exception e) {
return ReturnUtil.getPicaResponse(PicaResultCode.PARAM_IS_INVALID);
}
return antiSpamService.processString(user.getId(), sysCode, params.getLeft(), params.getRight() != 0);
return antiSpamService.processString(user != null ? user.getId() : 0, sysCode, params.getLeft(), params.getRight() != 0);
}
@LoginPermission
......@@ -82,7 +86,8 @@ public class AntiSpamController extends BaseController {
return PicaResponse.toResponse("");
}
}
PicaUser user = fetchPicaUser();
PicaUser user = loginUtil.getCurrentUser();
Pair<String, Integer> params;
try {
params = parseContentAndType(content);
......@@ -109,7 +114,7 @@ public class AntiSpamController extends BaseController {
}
}
PicaUser user = fetchPicaUser();
PicaUser user = loginUtil.getCurrentUser();
StringBuilder sbContent = new StringBuilder();
try {
JSONObject jsonObject = JSONObject.parseObject(content);
......@@ -118,7 +123,7 @@ public class AntiSpamController extends BaseController {
return ReturnUtil.getPicaResponse(PicaResultCode.PARAM_IS_INVALID);
}
if (!antiSpamService.processImageContent(user.getId(), sysCode, sbContent.toString())) {
if (!antiSpamService.processImageContent(user != null ? user.getId() : 0, sysCode, sbContent.toString())) {
return ReturnUtil.getPicaResponse("400002", "图片包含违禁内容,请修改后重新输入", "");
}
......
package com.pica.cloud.online.exam.analysis.server.controller;
import com.alibaba.fastjson.JSON;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.annotation.LoginPermission;
import com.pica.cloud.foundation.utils.controller.BaseController;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@RestController
public class RedisTestController extends BaseController {
@Autowired
private ICacheClient cacheClient;
@RequestMapping(value = "/redis", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@LoginPermission
public PicaResponse<Map<String, String>> redis() {
// http://localhost:11501/hospital/hospitals/redis
// cluster
String token = getToken();
Map<String, String> map = new HashMap<>();
map.put("id", "1111111");
map.put("token", getToken());
map.put("sysCode", getSysCode());
try {
token = cacheClient.saveToken(map, 3600);
} catch(Exception ex) {
// nothing to do
}
System.out.println(token);
Map<String, String> map1 = cacheClient.getToken(token);
System.out.println(JSON.toJSON(map1));
PicaUser user = fetchPicaUser();
System.out.println(JSON.toJSON(user));
// sentinel
Set<String> set1 = new HashSet<>();
set1.add("192.168.140.27:17000");
set1.add("192.168.140.28:17000");
set1.add("192.168.140.29:17000");
JedisSentinelPool pool1 = new JedisSentinelPool("master01", set1, "Uu49Kz1olY85HQBu");
Jedis jedis1 = pool1.getResource();
System.out.println("sentinel dev - " + jedis1.get("token-" + token));
Set<String> set2 = new HashSet<>();
set2.add("192.168.110.68:17000");
set2.add("192.168.110.69:17001");
set2.add("192.168.110.70:17002");
JedisSentinelPool pool2 = new JedisSentinelPool("master01", set2, "Uu49Kz1olY85HQBu");
Jedis jedis2 = pool2.getResource();
System.out.println("sentinel test - " + jedis2.get("token-" + token));
Set<String> set3 = new HashSet<>();
set3.add("192.168.110.177:17000");
set3.add("192.168.110.178:17000");
set3.add("192.168.110.179:17000");
JedisSentinelPool pool3 = new JedisSentinelPool("master01", set3, "Uu49Kz1olY85HQBu");
Jedis jedis3 = pool3.getResource();
System.out.println("sentinel uat - " + jedis3.get("token-" + token));
cacheClient.deleteToken(token);
try {
PicaUser user1 = fetchPicaUser();
} catch (Exception ex) {
System.out.println("Exception -> the user has been deleted");
}
Map<String, String> map2 = new HashMap<>();
map2.put("id", "1111111");
map2.put("token", getToken());
map2.put("sysCode", getSysCode());
try {
token = cacheClient.saveToken(map2, 3600);
} catch(Exception ex) {
// nothing to do
}
return PicaResponse.toResponse(token);
}
}
package com.pica.cloud.online.exam.analysis.server.controller;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.online.exam.analysis.server.client.IOnlineExamServiceClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wuminghao
* @date 2018/9/30 9:58
*/
@RestController
@RequestMapping("/onlineexam")
@Api(value = "服务调用", description = "测试")
public class TestController {
@Autowired
private IOnlineExamServiceClient onlineExamServiceClient;
@ApiOperation(value = "获取考试状态", response = PicaResponse.class)
@RequestMapping(value = "/getExamStatus", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public String getExamStatus(@RequestHeader String token) {
return onlineExamServiceClient.getExamStatus(1,1, "27", token);
}
}
package com.pica.cloud.online.exam.analysis.server.utils;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* @author wuminghao
* @date 2020/6/28 15:35
*/
@Component
public class LoginUtil {
public static final Logger logger = LoggerFactory.getLogger(LoginUtil.class);
@Autowired
private ICacheClient cacheClient;
public PicaUser getCurrentUser() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
String token = servletRequestAttributes.getRequest().getHeader("token");
if (StringUtils.isEmpty(token)) {
return null;
} else {
return cacheClient.getToken(token, PicaUser.class);
}
}
public PicaUser getCurrentUserByToken(String token) {
if (StringUtils.isEmpty(token)) {
return null;
} else {
return cacheClient.getToken(token, PicaUser.class);
}
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册