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.JSON;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
import com.gitee.easyopen.ApiConfig;
|
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.interceptor.ApiInterceptor;
|
||||||
import com.gitee.easyopen.session.ApiSessionManager;
|
import com.gitee.easyopen.session.ApiSessionManager;
|
||||||
import com.gitee.sop.adminserver.interceptor.LoginInterceptor;
|
import com.gitee.sop.adminserver.interceptor.LoginInterceptor;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
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.ResourceHandlerRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author thc
|
* @author thc
|
||||||
@@ -23,6 +28,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupp
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class WebConfig extends WebMvcConfigurationSupport {
|
public class WebConfig extends WebMvcConfigurationSupport {
|
||||||
|
|
||||||
|
public static final String HEADER_TOKEN_NAME = ParamNames.ACCESS_TOKEN_NAME;
|
||||||
|
|
||||||
@Value("${admin.access-token.timeout-minutes}")
|
@Value("${admin.access-token.timeout-minutes}")
|
||||||
private String accessTokenTimeout;
|
private String accessTokenTimeout;
|
||||||
|
|
||||||
@@ -39,6 +46,19 @@ public class WebConfig extends WebMvcConfigurationSupport {
|
|||||||
apiConfig.setSessionManager(apiSessionManager);
|
apiConfig.setSessionManager(apiSessionManager);
|
||||||
// 登录拦截器
|
// 登录拦截器
|
||||||
apiConfig.setInterceptors(new ApiInterceptor[]{new LoginInterceptor()});
|
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;
|
return apiConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,12 +1,9 @@
|
|||||||
package com.gitee.sop.adminserver.interceptor;
|
package com.gitee.sop.adminserver.interceptor;
|
||||||
|
|
||||||
import com.gitee.easyopen.ApiContext;
|
|
||||||
import com.gitee.easyopen.ApiMeta;
|
import com.gitee.easyopen.ApiMeta;
|
||||||
import com.gitee.easyopen.ParamNames;
|
|
||||||
import com.gitee.easyopen.interceptor.ApiInterceptorAdapter;
|
import com.gitee.easyopen.interceptor.ApiInterceptorAdapter;
|
||||||
import com.gitee.sop.adminserver.common.AdminErrors;
|
import com.gitee.sop.adminserver.common.AdminErrors;
|
||||||
import com.gitee.sop.adminserver.common.WebContext;
|
import com.gitee.sop.adminserver.common.WebContext;
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -18,15 +15,9 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
*/
|
*/
|
||||||
public class LoginInterceptor extends ApiInterceptorAdapter {
|
public class LoginInterceptor extends ApiInterceptorAdapter {
|
||||||
|
|
||||||
public static final String HEADER_TOKEN_NAME = ParamNames.ACCESS_TOKEN_NAME;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object serviceObj, Object argu)
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object serviceObj, Object argu)
|
||||||
throws Exception {
|
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) {
|
if (WebContext.getInstance().getLoginUser() != null) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user