admin后台登录token修改

1.x
tanghc 6 years ago
parent 2cff1a7c0b
commit 9dc60a9b53
  1. 22
      sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/WebConfig.java
  2. 9
      sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/interceptor/LoginInterceptor.java

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

@ -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 {

Loading…
Cancel
Save