SmartRequestTokenUtil.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package net.lab1024.smartadmin.util;
  2. import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO;
  3. import org.springframework.web.context.request.RequestAttributes;
  4. import org.springframework.web.context.request.RequestContextHolder;
  5. import org.springframework.web.context.request.ServletRequestAttributes;
  6. import javax.servlet.http.HttpServletRequest;
  7. /**
  8. * @author yandanyang
  9. * @version 1.0
  10. * @company 1024lab.net
  11. * @copyright (c) 2019 1024lab.netInc. All rights reserved.
  12. * @date
  13. * @since JDK1.8
  14. */
  15. public class SmartRequestTokenUtil {
  16. private static final String USER_KEY = "smart_admin_user";
  17. private static ThreadLocal<RequestTokenBO> RequestUserThreadLocal = new ThreadLocal<RequestTokenBO>();
  18. public static void setUser(HttpServletRequest request, RequestTokenBO requestToken) {
  19. request.setAttribute(USER_KEY, requestToken);
  20. RequestUserThreadLocal.set(requestToken);
  21. }
  22. public static RequestTokenBO getThreadLocalUser() {
  23. return RequestUserThreadLocal.get();
  24. }
  25. public static RequestTokenBO getRequestUser() {
  26. RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
  27. if (requestAttributes != null) {
  28. HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
  29. if (request != null) {
  30. return (RequestTokenBO) request.getAttribute(USER_KEY);
  31. }
  32. }
  33. return null;
  34. }
  35. public static Long getRequestUserId() {
  36. RequestTokenBO requestUser = getRequestUser();
  37. if (null == requestUser) {
  38. return null;
  39. }
  40. return requestUser.getRequestUserId();
  41. }
  42. }