From ff6dc34b95330cba23fe8aba9bcf33e3b233eb24 Mon Sep 17 00:00:00 2001 From: xhxu Date: Sun, 20 Sep 2020 17:43:23 +0800 Subject: [PATCH] token --- .../java/com/iformall/aop/RedisCacheAspect.java | 5 +++++ .../LoginUserHandlerMethodArgumentResolver.java | 13 +++++++------ .../interceptor/AuthHandshakeInterceptor.java | 4 ++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java b/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java index 474101374..9b712058f 100644 --- a/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java +++ b/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java @@ -3,8 +3,10 @@ package com.iformall.aop; import com.alibaba.fastjson.JSONObject; import com.iformall.annotation.RedisCache; +import com.iformall.common.ErrorCode; import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.base.BaseCUserEntity; +import com.iformall.exception.MallinkException; import com.iformall.service.CUserTokenService; import com.iformall.utils.HashUtil; import com.iformall.utils.RedisLock; @@ -65,6 +67,9 @@ public class RedisCacheAspect { if (StringUtils.isBlank(token)) { token = request.getParameter("token"); } + if(StringUtils.isBlank(token) || "null".equals(token) || "undefined".equals(token)){ + throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY.getCode(),"token为空["+token+"]"); + } log.info("token>>>>>>>>>>>>>>>"+token); String tenantId; BaseCUserEntity cUser = null ; diff --git a/mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java b/mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java index da09118ea..8e922ecee 100644 --- a/mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java +++ b/mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java @@ -1,8 +1,10 @@ package com.iformall.resolver; import com.iformall.annotation.LoginUser; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.service.CUserTokenService; +import com.iformall.service.WxCUserBasicInfoService; import com.iformall.utils.Constant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; @@ -21,8 +23,9 @@ import org.springframework.web.method.support.ModelAndViewContainer; */ @Component public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { + @Autowired - private CUserTokenService cUserTokenService; + private WxCUserBasicInfoService wxCUserBasicInfoService; @Override public boolean supportsParameter(MethodParameter parameter) { @@ -32,15 +35,13 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, NativeWebRequest request, WebDataBinderFactory factory) throws Exception { - //获取用户ID - Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST); + //获取会员ID + Object object = request.getAttribute(Constant.LOGIN_MEMBER_KEY, RequestAttributes.SCOPE_REQUEST); if(object == null){ return null; } - //获取用户信息 - BaseCUserEntity user = cUserTokenService.getByToken((String)object); - + WxCUserBasicInfo user = wxCUserBasicInfoService.getById((Long) object); return user; } } diff --git a/mallinkWebSocketServer/src/main/java/com/iformall/interceptor/AuthHandshakeInterceptor.java b/mallinkWebSocketServer/src/main/java/com/iformall/interceptor/AuthHandshakeInterceptor.java index 43190f805..1793afeaa 100644 --- a/mallinkWebSocketServer/src/main/java/com/iformall/interceptor/AuthHandshakeInterceptor.java +++ b/mallinkWebSocketServer/src/main/java/com/iformall/interceptor/AuthHandshakeInterceptor.java @@ -47,8 +47,8 @@ public class AuthHandshakeInterceptor implements HandshakeInterceptor { token = serverHttpRequest.getServletRequest().getParameter("token"); } //token为空 - if(StringUtils.isBlank(token)){ - throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY); + if(StringUtils.isBlank(token) || "null".equals(token) || "undefined".equals(token)){ + throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY.getCode(),"token为空["+token+"]"); } // 查询token信息