管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-17 42128cb41c46b240f18f4aa132c142db0138b3ed
1
已修改3个文件
46 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/all/SignController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/interceptor/AuthInterceptor.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/TokenService.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/all/SignController.java
@@ -125,27 +125,24 @@
            UserEntity ue = userService.selectByUid(user.getUid());
            if (ue == null) {
                return fail("用户名不存在!", null);
                return fail("用户名不存在", null);
            }
            if (!Md5Helper.validatePassword(user.getPwd(), ue.getPwd())) {
                tokenService.setPwdErrCache(ue);
                return fail("密码不正确", null);
            }
            LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 1, req);
            if (!Md5Helper.validatePassword(user.getPwd(), ue.getPwd())) {
                tokenService.setPwdErrCache(ue);
                le.setStatus(0);
                le.setDescr("密码错误");
                loginService.insertLogin(le);
                return fail("密码不正确!", null);
            }
            Integer rows = loginService.insertLogin(le);
            if (rows == 0) {
                return fail("创建登录日志失败!", null);
                return fail("创建登录日志失败", null);
            }
            TokenEntity te = tokenService.getNewToken(ue.getId(), req);
            rows = tokenService.insertToken(te);
            if (rows == 0) {
                return fail("创建令牌信息失败!", null);
                return fail("创建令牌失败", null);
            }
            tokenService.saveToken(ue, te, req, res);
src/main/java/com/lf/server/interceptor/AuthInterceptor.java
@@ -5,12 +5,10 @@
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.helper.WebHelper;
import com.lf.server.service.all.RedisService;
import com.lf.server.service.sys.TokenService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCache;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
@@ -65,7 +63,6 @@
            }
            if (tokenService.isUidDisable(ue)) {
                tokenService.logout(token, request, response);
                return WebHelper.write2Page(response, USER_LOCK);
            }
src/main/java/com/lf/server/service/sys/TokenService.java
@@ -145,6 +145,12 @@
        // 清除Cookie
        WebHelper.deleteCookies(req, res);
        // 获取当前用户
        UserEntity ue = getCurrentUser(req);
        if (ue == null) {
            return false;
        }
        // 清除缓存
        String tokenKey = RedisCacheKey.signTokenKey(token);
        if (redisService.hasKey(tokenKey)) {
@@ -153,12 +159,6 @@
        String userKey = RedisCacheKey.signUserKey(te.getToken());
        if (redisService.hasKey(userKey)) {
            redisService.delete(userKey);
        }
        // 获取当前用户
        UserEntity ue = getCurrentUser(req);
        if (ue == null) {
            return false;
        }
        // db,设置令牌过期
@@ -254,6 +254,18 @@
        int count = objCount == null ? 1 : (int) objCount + 1;
        redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES);
        // 记录日志
        HttpServletRequest req = WebHelper.getRequest();
        LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 0, req);
        le.setDescr("密码不正确");
        loginService.insertLogin(le);
        if (count >= SettingData.PWD_ERR_COUNT) {
            String token = WebHelper.getToken(req);
            HttpServletResponse res = WebHelper.getResponse();
            logout(token, req, res);
        }
    }
    /**