jiangping
2025-05-22 c115722130eb11af68ab639835a266ca9e2b4c9c
server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -9,6 +9,7 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.method.HandlerMethod;
@@ -26,11 +27,19 @@
import java.util.*;
import java.util.concurrent.TimeUnit;
@Slf4j
public class LoginHandlerInterceptor implements HandlerInterceptor {
    private RedisTemplate<String,Object> stringRedisTemplate;
    private long expireTime;
    public long getExpireTime() {
        return expireTime;
    }
    public void setExpireTime(long expireTime) {
        this.expireTime = expireTime;
    }
    // 由于该类未交给spring管理,因此不能使用自动装配的方式获取RedisTemplate对象
    public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate,long expireTime) {
@@ -134,7 +143,8 @@
        if(user ==null ){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户登陆已失效,请重新登陆!");
        }
        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS);
        log.error("=========开始刷新token有效期:"+token+"======time:"+this.getExpireTime());
        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.getExpireTime(), TimeUnit.MILLISECONDS);
        //权限判断------------
        return  user;
    }