parent
4a05ce23ee
commit
591c6f8561
|
@ -21,10 +21,6 @@ public class ConstValue {
|
||||||
* The constant IS_SKIP_TIMEOUT_CHECK.
|
* The constant IS_SKIP_TIMEOUT_CHECK.
|
||||||
*/
|
*/
|
||||||
public static final boolean IS_SKIP_TIMEOUT_CHECK = true;
|
public static final boolean IS_SKIP_TIMEOUT_CHECK = true;
|
||||||
/**
|
|
||||||
* The constant IS_VERIFY_TOKEN.
|
|
||||||
*/
|
|
||||||
public static final boolean IS_VERIFY_TOKEN = true;
|
|
||||||
/**
|
/**
|
||||||
* The constant TOKEN_EXPIRED_TIME_MS.
|
* The constant TOKEN_EXPIRED_TIME_MS.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,4 +30,9 @@ public class GlobalVar {
|
||||||
* The constant IS_CHECK_REQUEST_TIMEOUT.
|
* The constant IS_CHECK_REQUEST_TIMEOUT.
|
||||||
*/
|
*/
|
||||||
public static volatile boolean IS_CHECK_REQUEST_TIMEOUT = false;
|
public static volatile boolean IS_CHECK_REQUEST_TIMEOUT = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The constant IS_VERIFY_TOKEN.
|
||||||
|
*/
|
||||||
|
public static boolean IS_VERIFY_TOKEN = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,15 +6,29 @@ import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type Token config.
|
||||||
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
public class TokenConfig implements WebMvcConfigurer {
|
public class TokenConfig implements WebMvcConfigurer {
|
||||||
|
/**
|
||||||
|
* Init auth interceptor token interceptor.
|
||||||
|
*
|
||||||
|
* @return the token interceptor
|
||||||
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public TokenInterceptor initAuthInterceptor(){
|
public TokenInterceptor initAuthInterceptor(){
|
||||||
return new TokenInterceptor();
|
return new TokenInterceptor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add interceptors.
|
||||||
|
*
|
||||||
|
* @param registry the registry
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void addInterceptors(InterceptorRegistry registry) {
|
public void addInterceptors(InterceptorRegistry registry) {
|
||||||
|
// 注册需要检查token的控制器接口
|
||||||
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/information/**");
|
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/information/**");
|
||||||
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/manager/**");
|
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/manager/**");
|
||||||
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/task/**");
|
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/task/**");
|
||||||
|
|
|
@ -6,25 +6,43 @@ import com.dispose.service.UserAccountService;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.servlet.HandlerInterceptor;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
|
import reactor.util.annotation.NonNull;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type Token interceptor.
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TokenInterceptor implements HandlerInterceptor {
|
public class TokenInterceptor implements HandlerInterceptor {
|
||||||
|
/**
|
||||||
|
* The User account service.
|
||||||
|
*/
|
||||||
@Resource
|
@Resource
|
||||||
private UserAccountService userAccountService;
|
private UserAccountService userAccountService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pre handle boolean.
|
||||||
|
*
|
||||||
|
* @param request the request
|
||||||
|
* @param response the response
|
||||||
|
* @param handler the handler
|
||||||
|
* @return the boolean
|
||||||
|
* @throws Exception the exception
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(HttpServletRequest request,
|
public boolean preHandle(HttpServletRequest request,
|
||||||
HttpServletResponse response,
|
@NonNull HttpServletResponse response,
|
||||||
Object handler) throws Exception {
|
@NonNull Object handler) throws Exception {
|
||||||
|
// 提取header中的Authorization字段里面的token值
|
||||||
String token = Objects.requireNonNull(request.getHeader("Authorization").replaceFirst("Bearer ", ""));
|
String token = Objects.requireNonNull(request.getHeader("Authorization").replaceFirst("Bearer ", ""));
|
||||||
|
|
||||||
ErrorCode err = userAccountService.authTokenCheck(token);
|
ErrorCode err = userAccountService.authTokenCheck(token);
|
||||||
|
|
||||||
|
// 判断token是否合法
|
||||||
if (err != ErrorCode.ERR_OK) {
|
if (err != ErrorCode.ERR_OK) {
|
||||||
response.setCharacterEncoding("UTF-8");
|
response.setCharacterEncoding("UTF-8");
|
||||||
response.setContentType("application/json;charset=UTF-8");
|
response.setContentType("application/json;charset=UTF-8");
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.dispose.service.impl;
|
||||||
|
|
||||||
import com.dispose.common.ConstValue;
|
import com.dispose.common.ConstValue;
|
||||||
import com.dispose.common.ErrorCode;
|
import com.dispose.common.ErrorCode;
|
||||||
|
import com.dispose.common.GlobalVar;
|
||||||
import com.dispose.manager.UserAccountCacheManager;
|
import com.dispose.manager.UserAccountCacheManager;
|
||||||
import com.dispose.mapper.UserAccountMapper;
|
import com.dispose.mapper.UserAccountMapper;
|
||||||
import com.dispose.pojo.entity.UserAccount;
|
import com.dispose.pojo.entity.UserAccount;
|
||||||
|
@ -40,7 +41,7 @@ public class UserAccountServiceImpl implements UserAccountService {
|
||||||
@Override
|
@Override
|
||||||
public ErrorCode authTokenCheck(String token) {
|
public ErrorCode authTokenCheck(String token) {
|
||||||
|
|
||||||
if (ConstValue.GlobalConfigure.IS_VERIFY_TOKEN) {
|
if (GlobalVar.IS_VERIFY_TOKEN) {
|
||||||
return userAccountCacheManager.verifyToken(token);
|
return userAccountCacheManager.verifyToken(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.dispose.Global;
|
package com.dispose.Global;
|
||||||
|
|
||||||
|
import com.dispose.common.ConstValue;
|
||||||
import com.dispose.common.ErrorCode;
|
import com.dispose.common.ErrorCode;
|
||||||
import com.dispose.common.GlobalVar;
|
import com.dispose.common.GlobalVar;
|
||||||
import com.dispose.pojo.po.MReturnType;
|
import com.dispose.pojo.po.MReturnType;
|
||||||
|
@ -52,6 +53,7 @@ public class InitTestEnvironment {
|
||||||
public static void initVirtualDevice() {
|
public static void initVirtualDevice() {
|
||||||
GlobalVar.USED_VIRTUAL_DISPOSE_MODE = true;
|
GlobalVar.USED_VIRTUAL_DISPOSE_MODE = true;
|
||||||
GlobalVar.IS_CHECK_REQUEST_TIMEOUT = true;
|
GlobalVar.IS_CHECK_REQUEST_TIMEOUT = true;
|
||||||
|
GlobalVar.IS_VERIFY_TOKEN = true;
|
||||||
|
|
||||||
log.warn("Current Used Virtual Dispose Device");
|
log.warn("Current Used Virtual Dispose Device");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue