浏览代码

渠道停用

chunping 2 年之前
父节点
当前提交
ed02c149bc

+ 16 - 0
mp-framework/src/main/java/com/qs/mp/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -1,5 +1,10 @@
 package com.qs.mp.framework.security.filter;
 
+import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.channel.service.IChannelService;
+import com.qs.mp.common.enums.ChannelStatusEnum;
+import com.qs.mp.common.enums.UserIdentityEnum;
+import com.qs.mp.common.exception.ServiceException;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.core.domain.LoginUser;
 import com.qs.mp.framework.security.handle.HostHolder;
@@ -32,6 +37,9 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private IChannelService channelService;
+
     @Autowired
     private HostHolder hostHolder;
 
@@ -40,6 +48,14 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
             throws ServletException, IOException
     {
         LoginUser loginUser = tokenService.getLoginUser(request);
+        // 票赢天下小程序请求,判断账号的状态
+        if (null != loginUser && loginUser.getIdentity() == UserIdentityEnum.CHANNEL) {
+            Channel channel = channelService.getById(loginUser.getChannelId());
+            if (null == channel || channel.getStatus() == ChannelStatusEnum.OFF) {
+                tokenService.delLoginUser(request);
+                loginUser = null;
+            }
+        }
         if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication()))
         {
             tokenService.verifyToken(loginUser);

+ 6 - 0
mp-framework/src/main/java/com/qs/mp/framework/web/service/TokenService.java

@@ -99,6 +99,12 @@ public class TokenService
         }
     }
 
+    public void delLoginUser(HttpServletRequest request) {
+        // 获取请求携带的令牌
+        String token = getToken(request);
+        delLoginUser(token);
+    }
+
     /**
      * 创建令牌
      *