REM:
1. 增加控制器校验Token功能
This commit is contained in:
HuangXin 2020-05-06 16:23:02 +08:00
parent f719194d46
commit 4a05ce23ee
4 changed files with 62 additions and 2 deletions

View File

@ -24,7 +24,7 @@ public class ConstValue {
/** /**
* The constant IS_VERIFY_TOKEN. * The constant IS_VERIFY_TOKEN.
*/ */
public static final boolean IS_VERIFY_TOKEN = false; public static final boolean IS_VERIFY_TOKEN = true;
/** /**
* The constant TOKEN_EXPIRED_TIME_MS. * The constant TOKEN_EXPIRED_TIME_MS.
*/ */

View File

@ -0,0 +1,22 @@
package com.dispose.config;
import com.dispose.interceptor.TokenInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class TokenConfig implements WebMvcConfigurer {
@Bean
public TokenInterceptor initAuthInterceptor(){
return new TokenInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/information/**");
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/manager/**");
registry.addInterceptor(initAuthInterceptor()).addPathPatterns("/task/**");
}
}

View File

@ -0,0 +1,38 @@
package com.dispose.interceptor;
import com.dispose.common.ErrorCode;
import com.dispose.pojo.dto.ProtocolRespDTO;
import com.dispose.service.UserAccountService;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
@Slf4j
public class TokenInterceptor implements HandlerInterceptor {
@Resource
private UserAccountService userAccountService;
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {
String token = Objects.requireNonNull(request.getHeader("Authorization").replaceFirst("Bearer ", ""));
ErrorCode err = userAccountService.authTokenCheck(token);
if (err != ErrorCode.ERR_OK) {
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.getWriter().write(new ObjectMapper().writeValueAsString(ProtocolRespDTO.result(err)));
return false;
}
return true;
}
}

View File

@ -28,7 +28,7 @@ public class ProtocolReqDTO extends ProtocolDTO {
/** /**
* The constant token. * The constant token.
*/ */
private static String token; private static String token = "";
/** /**
* Gets request object. * Gets request object.