admin后台登录token修改

This commit is contained in:
tanghc
2019-04-03 18:01:55 +08:00
parent 2cff1a7c0b
commit 9dc60a9b53
2 changed files with 21 additions and 10 deletions

View File

@@ -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;
}

View File

@@ -1,12 +1,9 @@
package com.gitee.sop.adminserver.interceptor;
import com.gitee.easyopen.ApiContext;
import com.gitee.easyopen.ApiMeta;
import com.gitee.easyopen.ParamNames;
import com.gitee.easyopen.interceptor.ApiInterceptorAdapter;
import com.gitee.sop.adminserver.common.AdminErrors;
import com.gitee.sop.adminserver.common.WebContext;
import org.apache.commons.lang.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -18,15 +15,9 @@ import javax.servlet.http.HttpServletResponse;
*/
public class LoginInterceptor extends ApiInterceptorAdapter {
public static final String HEADER_TOKEN_NAME = ParamNames.ACCESS_TOKEN_NAME;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object serviceObj, Object argu)
throws Exception {
String accessToken = request.getHeader(HEADER_TOKEN_NAME);
if (StringUtils.isNotBlank(accessToken)) {
ApiContext.getApiParam().put(ParamNames.ACCESS_TOKEN_NAME, accessToken);
}
if (WebContext.getInstance().getLoginUser() != null) {
return true;
} else {