DataPermissionHelper.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.ruoyi.common.helper;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.ruoyi.common.utils.ServletUtils;
  4. import javax.servlet.http.HttpServletRequest;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. /**
  8. * 数据权限助手
  9. *
  10. * @author Lion Li
  11. * @version 3.5.0
  12. */
  13. @SuppressWarnings("unchecked cast")
  14. public class DataPermissionHelper {
  15. private static final String DATA_PERMISSION_KEY = "data:permission";
  16. public static <T> T getVariable(String key) {
  17. Map<String, Object> context = getContext();
  18. return (T) context.get(key);
  19. }
  20. public static void setVariable(String key, Object value) {
  21. Map<String, Object> context = getContext();
  22. context.put(key, value);
  23. }
  24. public static Map<String, Object> getContext() {
  25. HttpServletRequest request = ServletUtils.getRequest();
  26. Object attribute = request.getAttribute(DATA_PERMISSION_KEY);
  27. if (ObjectUtil.isNull(attribute)) {
  28. request.setAttribute(DATA_PERMISSION_KEY, new HashMap<>());
  29. attribute = request.getAttribute(DATA_PERMISSION_KEY);
  30. }
  31. if (attribute instanceof Map) {
  32. return (Map<String, Object>) attribute;
  33. }
  34. throw new NullPointerException("data permission context type exception");
  35. }
  36. }