RequestContextHolder 维护了两个 ThreadLocal<RequestAttributes>,它保存了当前线程的 RequestAttributes 对象。
SpringMVC 获取 HttpServletRequest
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();在登录拦截器里,将用户信息保存到 HttpServletRequest.Attribute 里,方便全局获取用户信息。