|
|
|
@ -3,19 +3,24 @@ package com.gitee.sop.adminserver.config; |
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature; |
|
|
|
|
import com.gitee.easyopen.ApiConfig; |
|
|
|
|
import com.gitee.easyopen.ApiParam; |
|
|
|
|
import com.gitee.easyopen.ApiParamParser; |
|
|
|
|
import com.gitee.easyopen.ParamNames; |
|
|
|
|
import com.gitee.easyopen.interceptor.ApiInterceptor; |
|
|
|
|
import com.gitee.easyopen.session.ApiSessionManager; |
|
|
|
|
import com.gitee.sop.adminserver.interceptor.LoginInterceptor; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.apache.commons.lang.math.NumberUtils; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.context.annotation.Bean; |
|
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
|
import org.springframework.stereotype.Controller; |
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
|
import org.springframework.web.cors.CorsConfiguration; |
|
|
|
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; |
|
|
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; |
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author thc |
|
|
|
@ -23,6 +28,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupp |
|
|
|
|
@Configuration |
|
|
|
|
public class WebConfig extends WebMvcConfigurationSupport { |
|
|
|
|
|
|
|
|
|
public static final String HEADER_TOKEN_NAME = ParamNames.ACCESS_TOKEN_NAME; |
|
|
|
|
|
|
|
|
|
@Value("${admin.access-token.timeout-minutes}") |
|
|
|
|
private String accessTokenTimeout; |
|
|
|
|
|
|
|
|
@ -39,6 +46,19 @@ public class WebConfig extends WebMvcConfigurationSupport { |
|
|
|
|
apiConfig.setSessionManager(apiSessionManager); |
|
|
|
|
// 登录拦截器
|
|
|
|
|
apiConfig.setInterceptors(new ApiInterceptor[]{new LoginInterceptor()}); |
|
|
|
|
|
|
|
|
|
apiConfig.setParamParser(new ApiParamParser() { |
|
|
|
|
@Override |
|
|
|
|
public ApiParam parse(HttpServletRequest request) { |
|
|
|
|
ApiParam param = super.parse(request); |
|
|
|
|
String accessToken = request.getHeader(HEADER_TOKEN_NAME); |
|
|
|
|
if (StringUtils.isNotBlank(accessToken)) { |
|
|
|
|
param.put(ParamNames.ACCESS_TOKEN_NAME, accessToken); |
|
|
|
|
} |
|
|
|
|
return param; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return apiConfig; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|