VisualDataPermissionUtil.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package jnpf.visualdata.utils;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import jnpf.properties.SecurityProperties;
  4. import jnpf.util.ServletUtil;
  5. import org.springframework.stereotype.Component;
  6. import java.util.Map;
  7. @Component
  8. public class VisualDataPermissionUtil {
  9. private static SecurityProperties securityProperties;
  10. private static final String[] refererPath = new String[]{"**/DataV/view/{id}", "**/DataV/build/{id}"};
  11. public VisualDataPermissionUtil(SecurityProperties securityProperties) {
  12. VisualDataPermissionUtil.securityProperties = securityProperties;
  13. }
  14. public static void checkByReferer() {
  15. if (securityProperties.isEnablePreAuth()) {
  16. String referer = ServletUtil.getHeader("Referer");
  17. String id = null;
  18. for (String s : refererPath) {
  19. Map<String, String> pathVariables = ServletUtil.getPathVariables(s, referer);
  20. id = pathVariables.get("id");
  21. if (id != null) {
  22. id = id.split("[?]")[0];
  23. break;
  24. }
  25. }
  26. StpUtil.checkPermissionOr("onlineDev.dataScreen", id);
  27. }
  28. }
  29. }