wuqiping
2021-06-09 f342a0d88b2a7168f794d0cf545d16a3138acb6d
screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -10,8 +10,11 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;
/**
@@ -78,7 +81,7 @@
    /**
     * @Description: 校验token
     * @Param: [type, token] type: 后台取值:manage  前台取值:api
     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
     * @Author: 陈凯裕
     * @Date: 2021/3/10
     */
@@ -105,7 +108,7 @@
    /**
     * @Description: 通过token获取用户信息
     * @Param: [token]
     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
     * @Author: 陈凯裕
     * @Date: 2021/3/11
     */
@@ -117,6 +120,11 @@
        return userInfo;
    }
    public static Object getUserInfo() {
        String token = getCurrentToken();
        return getUserInfoByToken(token);
    }
    /**
     * @Description: 销毁token
     * @Param: [uid, token]
@@ -125,9 +133,12 @@
     * @Date: 2021/3/11
     */
    public static void destoryToken(String uid, String token) {
        if(ObjectUtils.isEmpty(uid)||ObjectUtils.isEmpty(token))
            return;
        redisTemplate.delete(token);
        redisTemplate.opsForHash().delete("user_token", uid);
    }
    /**
     * @Description: 销毁token
@@ -140,6 +151,35 @@
        destoryToken(getUidByToken(token), token);
    }
    /**
     * @Description: 销毁当前连接的token
     * @Param: []
     * @return: void
     * @Author: 陈凯裕
     * @Date: 2021/5/21
     */
    public static void destoryToken() {
        destoryToken(getCurrentToken());
    }
    public static void destoryToken(Integer id) {
        String token = getTokenById(id);
        destoryToken(String.valueOf(id),token);
    }
    /**
     * @Description: 根据id获取token
     * @Param: []
     * @return: java.lang.String
     * @Author: 陈凯裕
     * @Date: 2021/5/21
     */
    public static String getTokenById(Integer id) {
         return (String)redisTemplate.opsForHash().get("user_token", String.valueOf(id));
    }
    /**
     * @Description: 根据TOKEN获取Id
     * @Param: [token]
@@ -152,6 +192,18 @@
        return string[0];
    }
    /**
     * @Description: 获取当前请求的token
     * @Param: []
     * @return: java.lang.String
     * @Author: 陈凯裕
     * @Date: 2021/5/21
     */
    public static String getCurrentToken() {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        return request.getHeader("token");
    }
    /**
     * @Description: token延长