KKSU
2024-07-18 17c94afc50e7957b8fd98413cdc9cbbdc4c7967a
src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.properties.SystemProperties;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.SpringContextUtil;
@@ -13,10 +14,8 @@
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.servlet.HandlerInterceptor;
import org.web3j.crypto.Hash;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -33,6 +32,8 @@
    private final DappMemberDao dappMemberDao = SpringContextUtil.getBean(DappMemberDao.class);
    private final RedisUtils redisUtils = SpringContextUtil.getBean(RedisUtils.class);
    private SystemProperties systemProperties = SpringContextUtil.getBean(SystemProperties.class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if ("OPTIONS".equals(request.getMethod().toUpperCase())) {
@@ -48,19 +49,21 @@
            return false;
        }
        Map<Object, Object> signKey = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
        Object signObj = signKey.get(headAddress);
        if (!systemProperties.isDebug()) {
            Map<Object, Object> signKey = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
            Object signObj = signKey.get(headAddress);
        if (signObj == null) {
            responseUnAuth(response);
            return false;
        }
        String sign = (String) signObj;
            if (signObj == null) {
                responseUnAuth(response);
                return false;
            }
            String sign = (String) signObj;
        String calKey = LoginUserUtil.sha3(sign + path + headAddress).replace("0x", "");
        if (!calKey.equals(key)) {
            responseUnAuth(response);
            return false;
            String calKey = LoginUserUtil.sha3(sign + path + headAddress).replace("0x", "");
            if (!calKey.equals(key)) {
                responseUnAuth(response);
                return false;
            }
        }
        DappMemberEntity memberEntity = dappMemberDao.selectByAddress(headAddress, null);
@@ -68,6 +71,10 @@
            responseUnAuth(response);
            return false;
        }
        if(AppContants.INT_FLAG_Y != memberEntity.getAccountStatus()){
            responseUnAuth(response);
            return false;
        }
        request.getSession().setAttribute("member", memberEntity);
        return true;