Browse Source

feign token传递

pt
zhizhi wu 5 years ago
parent
commit
5dd34e392d
  1. 18
      cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java
  2. 6
      cloudutil/src/main/resources/application-util-dev.yml
  3. 6
      tall/src/main/java/com/ccsens/tall/web/ProjectController.java
  4. 6
      tall/src/main/resources/application-dev.yml
  5. 3
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java
  6. 1
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java
  7. 4
      wisdomcar/src/main/resources/application.yml

18
cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java

@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
@ -15,10 +16,20 @@ import javax.servlet.http.HttpServletRequest;
/** /**
* @author * @author
*/ */
@Component @Configuration
public class FeignTokenConfig implements RequestInterceptor { public class FeignTokenConfig implements RequestInterceptor {
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
System.out.println("attributes:"+attributes);
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
System.out.println("token:" + request.getHeader(HttpHeaders.AUTHORIZATION));
//添加token
template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));
return;
}
byte[] body = template.body(); byte[] body = template.body();
if (body == null) { if (body == null) {
return; return;
@ -29,9 +40,6 @@ public class FeignTokenConfig implements RequestInterceptor {
//添加token //添加token
template.header("Authorization", jsonObject.getStr("token")); template.header("Authorization", jsonObject.getStr("token"));
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
//添加token
template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));
} }
} }

6
cloudutil/src/main/resources/application-util-dev.yml

@ -46,6 +46,12 @@ feign:
loggerLevel: basic loggerLevel: basic
hystrix: hystrix:
enabled: true enabled: true
hystrix:
command:
default:
execution:
isolation:
strategy: SEMAPHORE
# sleuth # sleuth
logging: logging:
level: level:

6
tall/src/main/java/com/ccsens/tall/web/ProjectController.java

@ -336,12 +336,14 @@ public class ProjectController {
@MustLogin @MustLogin
@ApiOperation(value = "根据模板复制项目新", notes = "") @ApiOperation(value = "根据模板复制项目新", notes = "")
@RequestMapping(value = "/copyProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/copyProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.ProjectInfo> copyProjectNew(@ApiParam @Validated @RequestBody QueryDto<com.ccsens.cloudutil.bean.tall.dto.ProjectDto.CopyProject> params) throws Exception { public JsonResponse<com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo> copyProjectNew(@ApiParam @Validated @RequestBody QueryDto<com.ccsens.cloudutil.bean.tall.dto.ProjectDto.CopyProject> params) {
log.info("根据模板复制项目新:{}",params); log.info("根据模板复制项目新:{}",params);
// String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); // String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN);
// String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); // String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length());
// ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId(),token); // ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId(),token);
log.info("根据模板复制项目新结束"); log.info("根据模板复制项目新结束");
return JsonResponse.newInstance().ok(); com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo info = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo();
info.setId(1L);
return JsonResponse.newInstance().ok(info);
} }
} }

6
tall/src/main/resources/application-dev.yml

@ -11,11 +11,11 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
rabbitmq: rabbitmq:
host: test.tall.wiki host: 192.168.4.113
# host: 127.0.0.1 # host: 127.0.0.1
password: guest password: 111111
port: 5672 port: 5672
username: guest username: admin
redis: redis:
database: 0 database: 0
host: 127.0.0.1 host: 127.0.0.1

3
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java

@ -1,5 +1,6 @@
package com.ccsens.wisdomcar.api; package com.ccsens.wisdomcar.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.ProjectDto; import com.ccsens.wisdomcar.bean.dto.ProjectDto;
@ -32,6 +33,7 @@ public class ProjectController {
@Resource @Resource
private IProjectService projectService; private IProjectService projectService;
@MustLogin
@ApiOperation(value = "点击开始", notes = "whj") @ApiOperation(value = "点击开始", notes = "whj")
@RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Start> params){ public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Start> params){
@ -40,6 +42,7 @@ public class ProjectController {
log.info("点击开始结束"); log.info("点击开始结束");
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@MustLogin
@ApiOperation(value = "查询称重和剂量", notes = "whj") @ApiOperation(value = "查询称重和剂量", notes = "whj")
@RequestMapping(value = "/weight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/weight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.Record> weight(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Weight> params){ public JsonResponse<ProjectVo.Record> weight(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Weight> params){

1
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java

@ -38,6 +38,7 @@ public class WisdomCarController {
@Resource @Resource
private IWisdomCarService wisdomCarService; private IWisdomCarService wisdomCarService;
@MustLogin
@ApiOperation(value = "空闲平车查询", notes = "whj") @ApiOperation(value = "空闲平车查询", notes = "whj")
@RequestMapping(value = "/free", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/free", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<WisdomCarVo.FreeCar> freeCar(@ApiParam @Validated @RequestBody QueryDto<WisdomCarDto.FreeCar> params){ public JsonResponse<WisdomCarVo.FreeCar> freeCar(@ApiParam @Validated @RequestBody QueryDto<WisdomCarDto.FreeCar> params){

4
wisdomcar/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring: spring:
profiles: profiles:
active: test active: dev
include: common, util-test include: common, util-dev

Loading…
Cancel
Save