管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-17 10c1709404f981f4fb87185078fcee616346f5ce
src/main/java/com/lf/server/service/sys/TokenService.java
@@ -142,8 +142,8 @@
            return false;
        }
        // 清除Cookie WebHelper.saveCookie(StaticData.TOKEN_COOKIE_KEY, "", 60, res)
        WebHelper.deleteAll(req, res);
        // 清除Cookie
        WebHelper.deleteCookies(req, res);
        // 获取当前用户
        UserEntity ue = getCurrentUser(req);
@@ -153,9 +153,13 @@
        // 清除缓存
        String tokenKey = RedisCacheKey.signTokenKey(token);
        redisService.delete(tokenKey);
        if (redisService.hasKey(tokenKey)) {
            redisService.delete(tokenKey);
        }
        String userKey = RedisCacheKey.signUserKey(te.getToken());
        redisService.delete(userKey);
        if (redisService.hasKey(userKey)) {
            redisService.delete(userKey);
        }
        // db,设置令牌过期
        te.setUpdateUser(ue.getId());
@@ -165,7 +169,7 @@
        }
        // 写日志
        LoginEntity le = loginService.getNewLogin(ue.getId(), 3, req);
        LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 3, 1, req);
        rows = loginService.insertLogin(le);
        return rows > 0;
@@ -214,9 +218,6 @@
    /**
     * 获取当前用户
     *
     * @param req
     * @return
     */
    public UserEntity getCurrentUser(HttpServletRequest req) {
        String token = WebHelper.getToken(req);
@@ -243,4 +244,29 @@
        return ue;
    }
    /**
     * 设置密码错误缓存
     */
    public void setPwdErrCache(UserEntity ue) {
        String key = RedisCacheKey.signPwdError(ue.getUid());
        Object objCount = redisService.get(key);
        int count = objCount == null ? 1 : (int) objCount + 1;
        redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES);
    }
    /**
     * 用户ID是/否禁用
     */
    public boolean isUidDisable(UserEntity ue) {
        String key = RedisCacheKey.signPwdError(ue.getUid());
        Object objCount = redisService.get(key);
        return objCount != null && (int) objCount >= SettingData.PWD_ERR_COUNT;
    }
    public void logoffToken(String token) {
        //
    }
}