Commit ccbd3cff by “zcwang”

add: 登录态校验

parent af62510b
Pipeline #43484 passed with stages
in 1 minute 31 seconds
...@@ -373,12 +373,11 @@ public class ChangeFlowBiz { ...@@ -373,12 +373,11 @@ public class ChangeFlowBiz {
ChangeRecord changeRecord = this.getFlowInfo(flowId); ChangeRecord changeRecord = this.getFlowInfo(flowId);
// 检查工单节点 // 检查工单节点
this.checkNode(changeRecord.getFlowNode(), Collections.singletonList(changeFlowSubmitReq.getCurrentNodeId())); this.checkNode(changeRecord.getFlowNode(), Collections.singletonList(changeFlowSubmitReq.getCurrentNodeId()));
// todo:检验操作权限
String uid = RequestLocalBean.getUid(); String uid = RequestLocalBean.getUid();
String changeCommander = changeRecord.getChangeCommander(); String changeCommander = changeRecord.getChangeCommander();
/*if (!uid.equals(changeCommander)) { if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg()); throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/ }
// 获取工单详情 // 获取工单详情
FlowDataDTO flowDataDTO = flowService.flowDetail(flowId.toString()); FlowDataDTO flowDataDTO = flowService.flowDetail(flowId.toString());
if (flowDataDTO == null) { if (flowDataDTO == null) {
...@@ -556,11 +555,10 @@ public class ChangeFlowBiz { ...@@ -556,11 +555,10 @@ public class ChangeFlowBiz {
// 检查工单节点 // 检查工单节点
this.checkNode(changeRecord.getFlowNode(), Collections.singletonList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId())); this.checkNode(changeRecord.getFlowNode(), Collections.singletonList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId()));
String uid = RequestLocalBean.getUid(); String uid = RequestLocalBean.getUid();
// todo:检查审核人
String changeCommander = changeRecord.getChangeCommander(); String changeCommander = changeRecord.getChangeCommander();
/*if (!uid.equals(changeCommander)) { if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg()); throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/ }
// 获取工单详情 // 获取工单详情
FlowDataDTO flowDataDTO = flowService.flowDetail(flowId.toString()); FlowDataDTO flowDataDTO = flowService.flowDetail(flowId.toString());
if (flowDataDTO == null) { if (flowDataDTO == null) {
...@@ -852,12 +850,11 @@ public class ChangeFlowBiz { ...@@ -852,12 +850,11 @@ public class ChangeFlowBiz {
List<String> nodeList = Arrays.asList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId(), List<String> nodeList = Arrays.asList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId(),
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getNodeId()); ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getNodeId());
this.checkNode(changeRecord.getFlowNode(), nodeList); this.checkNode(changeRecord.getFlowNode(), nodeList);
// todo:检验操作权限
String uid = RequestLocalBean.getUid(); String uid = RequestLocalBean.getUid();
String changeCommander = changeRecord.getChangeCommander(); String changeCommander = changeRecord.getChangeCommander();
/*if (!uid.equals(changeCommander)) { if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg()); throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/ }
// 工单审核人转交 // 工单审核人转交
String deliverUser = req.getDeliverUser(); String deliverUser = req.getDeliverUser();
UserBaseDTO userBaseDTO = new UserBaseDTO(); UserBaseDTO userBaseDTO = new UserBaseDTO();
......
...@@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONObject;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory; import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult; import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode; import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum; import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
...@@ -212,7 +212,7 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -212,7 +212,7 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
//如果是执行人就从head里面把邮箱装载 //如果是执行人就从head里面把邮箱装载
}else if (changeConfigReq.getChangeCommanderType() == 1){ }else if (changeConfigReq.getChangeCommanderType() == 1){
changeConfigReq.setChangeCommander(AdminUserHolder.getUserName()); changeConfigReq.setChangeCommander(RequestLocalBean.getUid());
} }
changeConfig.setChangeCommanderType(changeConfigReq.getChangeCommanderType()); changeConfig.setChangeCommanderType(changeConfigReq.getChangeCommanderType());
if (changeConfigReq.getChangeCommander() == null){ if (changeConfigReq.getChangeCommander() == null){
......
package com.netease.mail.yanxuan.change.biz.service.impl.change; package com.netease.mail.yanxuan.change.biz.service.impl.change;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder; import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.dal.entity.ChangeExecConfig; import com.netease.mail.yanxuan.change.dal.entity.ChangeExecConfig;
import com.netease.mail.yanxuan.change.dal.mapper.ChangeExecConfigMapper; import com.netease.mail.yanxuan.change.dal.mapper.ChangeExecConfigMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,7 +30,7 @@ public class ChangeExecConfigServiceImpl implements ChangeExecConfigService { ...@@ -30,7 +30,7 @@ public class ChangeExecConfigServiceImpl implements ChangeExecConfigService {
for (ChangeExecConfig changeExecConfig : changeExecConfigs){ for (ChangeExecConfig changeExecConfig : changeExecConfigs){
//如果变更行动方案是变更发起人的话就填充登入人信息 //如果变更行动方案是变更发起人的话就填充登入人信息
if(changeExecConfig.getChangeExecUserType() == 1){ if(changeExecConfig.getChangeExecUserType() == 1){
changeExecConfig.setChangeExecUser(AdminUserHolder.getUserName()); changeExecConfig.setChangeExecUser(RequestLocalBean.getUid());
} }
//在修改的时候实际上删除在新增需要屏蔽掉ID //在修改的时候实际上删除在新增需要屏蔽掉ID
if (changeExecConfig.getId() != null){ if (changeExecConfig.getId() != null){
......
/**
* @(#)UserHolder.java, 2020/12/9.
* <p/>
* Copyright 2020 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.common.bean;
import org.springframework.stereotype.Component;
/**
* B端管理系统用户信息
*
* @author: 莫闲
* @date: 2020-12-09 13:19
**/
@Component
public class AdminUserHolder {
// 当前登录用户名线程绑定
private static ThreadLocal<String> userThreadLocal = new ThreadLocal<>();
public static void clear() {
userThreadLocal.remove();
}
/**
* 获取用户名
*
* @return 用户名,null-未登录
*/
public static String getUserName() {
return userThreadLocal.get();
}
public static void setUserName(String userName) {
userThreadLocal.set(userName);
}
}
package com.netease.mail.yanxuan.change.web.config;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
public class AdminUserLoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
Map<String, String> headerMap = new HashMap<>();
Enumeration<String> enumeration = request.getHeaderNames();
while (enumeration.hasMoreElements()) {
String name = enumeration.nextElement();
String value = request.getHeader(name);
headerMap.put(name, value);
}
log.info("adminUserLoginInterceptor headerMap ={}", headerMap);
String uid = request.getHeader("uid");
log.info("adminUserLoginInterceptor uid ={}", uid);
if(uid == null){
uid = "grp.gyhtest1001@corp.netease.com";
}
AdminUserHolder.setUserName(uid);
return true;
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, ModelAndView modelAndView)
throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
AdminUserHolder.clear();
}
}
\ No newline at end of file
...@@ -15,7 +15,6 @@ import org.springframework.web.servlet.HandlerInterceptor; ...@@ -15,7 +15,6 @@ import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult; import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean; import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum; import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
......
...@@ -13,9 +13,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; ...@@ -13,9 +13,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
public class WebMvcConfig implements WebMvcConfigurer { public class WebMvcConfig implements WebMvcConfigurer {
@Autowired @Autowired
private AdminUserLoginInterceptor userLoginInterceptor;
@Autowired
private UserInterceptor userInterceptor; private UserInterceptor userInterceptor;
/** /**
...@@ -25,8 +22,6 @@ public class WebMvcConfig implements WebMvcConfigurer { ...@@ -25,8 +22,6 @@ public class WebMvcConfig implements WebMvcConfigurer {
*/ */
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(userLoginInterceptor).addPathPatterns("/**").excludePathPatterns("/i/health")
.excludePathPatterns("/change/flow/getOperator", "/test/createToDo","/test/progressTodo","/test/submit");
registry.addInterceptor(userInterceptor).addPathPatterns("/**").excludePathPatterns("/i/health") registry.addInterceptor(userInterceptor).addPathPatterns("/**").excludePathPatterns("/i/health")
.excludePathPatterns("/change/flow/getOperator", "/test/createToDo","/test/progressTodo","/test/submit"); .excludePathPatterns("/change/flow/getOperator", "/test/createToDo","/test/progressTodo","/test/submit");
} }
......
...@@ -18,7 +18,6 @@ import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory; ...@@ -18,7 +18,6 @@ import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService; import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService;
import com.netease.mail.yanxuan.change.biz.service.rpc.TodoService; import com.netease.mail.yanxuan.change.biz.service.rpc.TodoService;
import com.netease.mail.yanxuan.change.biz.task.AutoSubmit; import com.netease.mail.yanxuan.change.biz.task.AutoSubmit;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult; import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean; import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode; import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
......
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