Jelajahi Sumber

校验用户登录状态

lyhzzz 2 tahun lalu
induk
melakukan
a530f41d27

+ 1 - 0
src/main/java/com/fdkankan/sale/common/ResultCode.java

@@ -13,6 +13,7 @@ public enum ResultCode  {
     MISSING_REQUIRED_PARAMETERS(4007, "必填项不能为空"),
     USER_NOT_LOGIN(4008, "用户未登录"),
     DATA_TOO_LONG(4009, "长度超出限制!"),
+    USER_ERROR(4010, "该账号未使用"),
 
     DEL_ROLE_ERROR(50035, "该角色已关联用户,不可删除。请先修改相关用户的角色!"),
     MAIL_SEND_ERROR(50033, "邮件发送失败!"),

+ 11 - 0
src/main/java/com/fdkankan/sale/config/SaTokenConfigure.java

@@ -14,12 +14,14 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.HttpMethod;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.sale.common.RedisKeyUtil;
 import com.fdkankan.sale.common.ResultCode;
 import com.fdkankan.sale.common.ResultData;
 import com.fdkankan.sale.entity.SysMenu;
+import com.fdkankan.sale.entity.SysUser;
 import com.fdkankan.sale.entity.User;
 import com.fdkankan.sale.exception.BusinessException;
 import com.fdkankan.sale.service.ISysMenuService;
@@ -126,6 +128,15 @@ public class SaTokenConfigure {
         redisUtil.expire(String.format(RedisKeyUtil.loginToken,StpUtil.getTokenValue()),21600);
         StpUtil.checkLogin();
 
+        LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUser::getId,StpUtil.getLoginId());
+        SysUser one = sysUserService.getOne(wrapper);
+        if(one == null){
+            throw new BusinessException(ResultCode.USER_ERROR);
+        }
+        if(one.getStatus() == 0){
+            throw new BusinessException(ResultCode.USERNAME_ERROR);
+        }
     }