|
|
|
|
@ -3,6 +3,8 @@ package com.flossom.common.security.interceptor;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.web.method.HandlerMethod;
|
|
|
|
|
import org.springframework.web.servlet.AsyncHandlerInterceptor;
|
|
|
|
|
import com.flossom.common.core.constant.SecurityConstants;
|
|
|
|
|
@ -20,6 +22,8 @@ import com.flossom.system.api.model.LoginUser;
|
|
|
|
|
* @author flossom
|
|
|
|
|
*/
|
|
|
|
|
public class HeaderInterceptor implements AsyncHandlerInterceptor {
|
|
|
|
|
|
|
|
|
|
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
@Override
|
|
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
|
|
if (!(handler instanceof HandlerMethod)) {
|
|
|
|
|
@ -30,9 +34,11 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor {
|
|
|
|
|
SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME));
|
|
|
|
|
SecurityContextHolder.setWxUserId(ServletUtils.getHeader(request, SecurityConstants.WX_DETAILS_USER_ID));
|
|
|
|
|
SecurityContextHolder.setWxUserName(ServletUtils.getHeader(request, SecurityConstants.WX_DETAILS_USERNAME));
|
|
|
|
|
logger.info("security拦截器-微信用戶ID:{}", ServletUtils.getHeader(request, SecurityConstants.WX_DETAILS_USERNAME));
|
|
|
|
|
SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY));
|
|
|
|
|
|
|
|
|
|
String token = SecurityUtils.getToken();
|
|
|
|
|
logger.info("security拦截器-登录token: {}", token);
|
|
|
|
|
if (StringUtils.isNotEmpty(token)) {
|
|
|
|
|
LoginUser loginUser = AuthUtil.getLoginUser(token);
|
|
|
|
|
if (StringUtils.isNotNull(loginUser)) {
|
|
|
|
|
|