mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 21:57:56 +08:00
admin后台登录token修改
This commit is contained in:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user