protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException {
if(isOpen== Constant.INT_ZERO){
filterChain.doFilter(request, response);
return;
}
//获取token
String token = tokenService.getToken(request);
if(Objects.isNull(token)){
invalidToken(response);
}
//校验token是否有效
boolean existFlag = tokenService.verifyToken(token);
if(existFlag){
BaseContext.setCurrentName(tokenService.getUsernameFromToken(token));
filterChain.doFilter(request, response);
}else{
invalidToken(response);
}
}
package com.siact.product.edoms.common.utils;
import com.siact.product.edoms.common.Constant;
import java.util.Objects;
/**
* @Author:
* @CreateTime: 2022-09-06 15:52
* @Description:
*/
public class BaseContext {
private static final ThreadLocal<String> threadLocal = new ThreadLocal<>();
/**
* 设置id
* @param id
*/
public static void setCurrentName(String id){
threadLocal.set(id);
}
/**
* 设置id
* @param tenantId
*/
public static void setTenantId(String tenantId){
threadLocal.set(tenantId);
}
/**
* 获取id
* @return
*/
public static String getCurrentName(){
if(Objects.isNull(threadLocal.get())){
return Constant.SYSTEM;
}
return threadLocal.get();
}
/**
* 获取id
* @return
*/
public static String getTenantId(){
if(Objects.isNull(threadLocal.get())){
return Constant.SYSTEM;
}
return threadLocal.get();
}
}
12-10
8703