| | |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.filter.OncePerRequestFilter; |
| | | |
| | | import javax.servlet.*; |
| | | import javax.servlet.FilterChain; |
| | | import javax.servlet.ServletException; |
| | | import javax.servlet.annotation.WebFilter; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | * @author lin |
| | | */ |
| | | @WebFilter(filterName = "ApiAccessFilter", urlPatterns = "/api/*", asyncSupported=true) |
| | | @Component |
| | | public class ApiAccessFilter extends OncePerRequestFilter { |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(ApiAccessFilter.class); |
| | |
| | | |
| | | filterChain.doFilter(servletRequest, servletResponse); |
| | | |
| | | if (uriName != null && userSetting.getLogInDatebase()) { |
| | | if (uriName != null && userSetting != null && userSetting.getLogInDatabase() != null && userSetting.getLogInDatabase()) { |
| | | |
| | | LogDto logDto = new LogDto(); |
| | | logDto.setName(uriName); |
| | |
| | | logDto.setUri(servletRequest.getRequestURI()); |
| | | logDto.setCreateTime(DateUtil.getNow()); |
| | | logService.add(logDto); |
| | | // logger.warn("[Api Access] [{}] [{}] [{}] [{}] [{}] {}ms", |
| | | // uriName, servletRequest.getMethod(), servletRequest.getRequestURI(), servletRequest.getRemoteAddr(), HttpStatus.valueOf(servletResponse.getStatus()), |
| | | // System.currentTimeMillis() - start); |
| | | |
| | | |
| | | } |
| | | } |