xiaoyong931011
2022-11-21 5d1fc41db9c48ca7e4beffdfeb789fd6f69f4d2f
src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
@@ -4,7 +4,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.SpringContextUtil;
import cc.mrbird.febs.modules.api.entity.MemberEntity;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
@@ -31,6 +31,10 @@
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        System.out.println(request.getHeader(":path"));
        if ("OPTIONS".equals(request.getMethod().toUpperCase())) {
            return true;
        }
        String headerToken = request.getHeader("token");
        if (StringUtils.isBlank(headerToken)) {
            responseUnAuth(response);
@@ -38,20 +42,22 @@
        }
        String token = resolveToken(headerToken);
        if (token == null || AppContants.TIME_OUT.equals(token)) {
            responseUnAuth(response);
            return false;
        }
        String userJsonStr = redisUtils.getString(token);
        if (StringUtils.isBlank(userJsonStr)) {
            responseUnAuth(response);
            return false;
        }
        MemberEntity member = JSON.parseObject(userJsonStr, MemberEntity.class);
        DappMemberEntity member = JSON.parseObject(userJsonStr, DappMemberEntity.class);
        request.getSession().setAttribute("member", member);
        String id = request.getSession().getId();
        return true;
    }
@@ -75,11 +81,11 @@
        try {
            RSA rsa = new RSA(AppContants.PRIVATE_KEY, null);
            String[] tokens = StrUtil.split(rsa.decryptStr(token, KeyType.PrivateKey), "_");
            if (verifyTokenExpired(Long.parseLong(tokens[1]))) {
//            if (verifyTokenExpired(Long.parseLong(tokens[1]))) {
                return tokens[0];
            } else {
                return AppContants.TIME_OUT;
            }
//            } else {
//                return AppContants.TIME_OUT;
//            }
        } catch (Exception e) {
            log.error("#解析token异常#", e);
            return null;
@@ -90,8 +96,19 @@
        boolean isDebug = false;
        if (!isDebug) {
            long currentTime = System.currentTimeMillis();
            return currentTime - time <= 10000;
            return currentTime - time <= 3600000;
        }
        return true;
    }
    public static void main(String[] args) {
        String token = "LevMUYpG9zdhHcDuTyfCovvbC7SBrMQG5xdVMsFoFr+wGXeToiy3fextPC9fmJtM0cWYyrs+ktvoDNvKPwFMjAikCvVwm9bjSeX9457mexw8FotWUZqc6WejSP0YDXYKrSix5JtgI7TlKJ154K0gau941+b8czb3SUZhY0kgfgQ=";
        RSA rsa = new RSA(AppContants.PRIVATE_KEY, null);
        String s = rsa.decryptStr(token, KeyType.PrivateKey);
        System.out.print(s);
//        String[] tokens = StrUtil.split(rsa.decryptStr(token, KeyType.PrivateKey), "_");
//        System.out.print(tokens[0]);
//        System.out.print(tokens[1]);
    }
}