ValidateIpAOP.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.fdkankan.openApi.aop;
  2. import cn.hutool.extra.servlet.ServletUtil;
  3. import com.fdkankan.openApi.service.system.ITIpWhiteService;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.aspectj.lang.JoinPoint;
  6. import org.aspectj.lang.annotation.Aspect;
  7. import org.aspectj.lang.annotation.Before;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.core.annotation.Order;
  10. import org.springframework.stereotype.Component;
  11. import org.springframework.web.context.request.RequestContextHolder;
  12. import org.springframework.web.context.request.ServletRequestAttributes;
  13. import javax.servlet.http.HttpServletRequest;
  14. @Order(999)
  15. @Component
  16. @Aspect
  17. @Slf4j
  18. public class ValidateIpAOP {
  19. @Autowired
  20. ITIpWhiteService itIpWhiteService;
  21. @Before("@annotation(validateIp)")
  22. public void doBefore(JoinPoint joinPoint, ValidateIp validateIp) {
  23. ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
  24. HttpServletRequest request = servletRequestAttributes.getRequest();
  25. String clientIP = ServletUtil.getClientIP(request);
  26. log.info("validateIp-访问ip,{}", clientIP);
  27. itIpWhiteService.checkIp(clientIP);
  28. }
  29. }