package com.dsh.course.util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; @Component public class TokenUtil { @Autowired private RedisUtil redisUtil; public Integer getUserIdFormRedis() throws Exception { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = servletRequestAttributes.getRequest(); String requestHeader = request.getHeader("Authorization"); if (requestHeader != null && requestHeader.startsWith("Bearer ")) { requestHeader = requestHeader.substring(requestHeader.indexOf(" ") + 1); String key = null; int length = requestHeader.length(); if (length > 32) { key = requestHeader.substring(length - 32); } else { key = requestHeader; } String value = redisUtil.getValue(key); return null != value ? Integer.valueOf(value) : null; } else { return null; } } }